Quant RSIQuant RSI MTF - Professional Multi-Timeframe RSI Analysis
A sophisticated RSI indicator built for serious traders who need more than basic overbought and oversold levels. This tool combines advanced filtering techniques with multi-timeframe analysis to give you a clearer picture of momentum across different time horizons.
What Makes This Different
Most RSI indicators use simple moving averages that lag behind price action. This version uses Laguerre filtering, which is a mathematical technique that reduces lag while maintaining smooth signals. The result is an RSI that responds faster to genuine momentum shifts without getting whipped around by noise.
The system monitors five different timeframes simultaneously, checking whether momentum is aligned or diverging across short-term, medium-term, and long-term perspectives. When all timeframes agree on direction, you have significantly higher probability setups. When they disagree, you know to be cautious.
Core Features
The indicator calculates three separate RSI values using different lookback periods - short, medium, and long term. Each one serves a specific purpose. The short-term catches quick reversals, the medium-term identifies swing trading opportunities, and the long-term keeps you aware of the bigger trend.
Dynamic threshold adjustment is built in based on ATR volatility measurements. During high volatility periods, the overbought and oversold levels automatically expand because extreme readings become more common. During low volatility, the thresholds tighten up. This prevents you from getting false signals just because market conditions changed.
Volume confirmation is integrated into every signal. The system analyzes volume delta to determine whether price movements are supported by actual buying or selling pressure. A divergence between RSI and volume often signals weak momentum that is likely to reverse.
Advanced divergence detection goes beyond basic hidden and regular divergences. The system calculates divergence strength as a percentage, so you know which setups have the most potential. A weak divergence barely worth noting gets scored low, while a major divergence with significant price-RSI separation scores high.
Signal Intelligence
Every potential signal gets assigned a confidence score from 0 to 100. This score factors in trend strength, momentum, volume confirmation, divergence presence, ADX readings, and timeframe alignment. A score above 70 means all the pieces are in place. Below 40 means something important is missing.
The indicator calculates ADX automatically to measure trend strength. Even if RSI shows oversold conditions, a weak ADX reading suggests the market is ranging and mean reversion might not work. Strong ADX with extreme RSI readings often produces the best setups.
Market condition classification tells you whether you are in a strong bull trend, bear trend, pullback, sideways chop, or volatility expansion phase. Each condition requires different trading approaches, and the indicator adapts its signals accordingly.
Volatility Analysis
Real-time volatility state monitoring shows you whether volatility is exploding, expanding, stable, or contracting. Contracting volatility often precedes big moves. Exploding volatility suggests you should reduce position size or stay out entirely.
The system compares current volatility to historical levels using percentile rankings. If current ATR is in the 90th percentile, you know volatility is unusually high even if you have not traded this asset before.
Volume profile approximation analyzes where volume is accumulating at different price levels. While not as detailed as true market profile software, it gives you insight into support and resistance zones based on actual trading activity.
What This Indicator Does Well
The Laguerre filtering genuinely reduces lag compared to standard RSI. You will notice signals forming 1-3 bars earlier than traditional RSI implementations, which can make a significant difference in fast-moving markets.
Multi-timeframe confluence is calculated automatically instead of forcing you to manually switch between charts. When all five timeframes align, the visual confirmation is immediate and the probability of success increases dramatically.
Dynamic threshold adjustment based on volatility is something most RSI indicators lack entirely. This prevents you from taking low-probability trades just because RSI hit 30 or 70 during unusual market conditions.
Volume integration with every signal helps filter out weak setups. RSI might show oversold, but if volume delta is negative and selling pressure continues, the indicator knows not to generate a buy signal.
Divergence strength calculation goes beyond just marking divergences with arrows. Knowing that a divergence has 75% strength versus 20% strength completely changes how you should trade it.
The ADX integration prevents you from trying to trade reversals in ranging markets where mean reversion strategies fail. ADX below 20 with extreme RSI readings typically results in continued chop rather than reversals.
What This Indicator Does Not Do Well
The multi-timeframe data requests can cause slight delays on lower-end computers or slow internet connections. If you are running multiple indicators simultaneously, you might notice brief calculation lags.
Divergence detection requires at least 10-15 bars of history to identify pivot points accurately. On brand new charts or immediately after timeframe changes, divergence signals may be absent for several bars.
The Laguerre filtering, while reducing lag, can occasionally produce false signals during extreme volatility spikes like news releases or market opens. The smoothing cannot completely eliminate noise during truly chaotic conditions.
Dynamic thresholds work well most of the time but can occasionally adapt too slowly during rapid volatility regime changes. If ATR suddenly doubles, it might take 5-10 bars for the thresholds to fully adjust.
The indicator uses significant processing power with five timeframe requests plus all the calculations for volatility, volume analysis, divergences, and signal scoring. On very low timeframes like 1-second or tick charts, this could cause performance issues.
There is no built-in backtesting functionality. You can see historical signals on the chart, but you cannot generate statistical performance reports without exporting data and analyzing it separately.
Best Use Cases
This indicator excels for scalpers and day traders who need fast, reliable RSI signals with proper context. The reduced lag from Laguerre filtering combined with volume confirmation catches reversals quickly enough to matter on 1-5 minute charts.
Swing traders benefit from the multi-timeframe alignment feature. Before entering a multi-day position, you can verify that momentum is aligned across your entry timeframe, swing timeframe, and position timeframe. This significantly improves win rates.
Range traders can use the dynamic thresholds and volatility analysis to identify when markets are coiling up for breakout moves. Contracting volatility with neutral RSI readings often precedes the best trending moves.
The divergence detection with strength calculations makes this valuable for reversal traders. Instead of taking every divergence, you can filter for only high-strength divergences above 60% for better risk-reward setups.
What This Is Not
This is not a standalone trading system. It provides momentum analysis and signal quality scoring, but you still need proper risk management, position sizing, and confluence with price action or other technical factors.
This is not a high-frequency trading tool. While the Laguerre filtering reduces lag, it is not designed for sub-second timeframes or algorithmic trading where microseconds matter.
This is not a volatility prediction system. It measures current and recent volatility states, but it cannot forecast whether volatility will expand or contract in the future beyond basic statistical tendencies.
This is not a replacement for understanding market structure. RSI divergences and extreme readings mean different things at major support and resistance versus in the middle of nowhere. You need context.
Technical Details Worth Knowing
The Laguerre filter uses a gamma parameter that you can adjust. Higher gamma values (0.8-0.9) produce smoother lines with more lag. Lower values (0.5-0.6) respond faster but with more noise. The default of 0.7 balances both reasonably well.
The three RSI lengths serve different purposes. The 5-period catches very short-term momentum for scalping. The 14-period is standard for swing trading. The 21-period keeps you aligned with longer-term trends. You can adjust these based on your trading timeframe.
ATR normalization divides current ATR by a 50-period moving average of ATR. This creates a volatility factor that adjusts thresholds dynamically. When volatility doubles, overbought might move from 70 to 85 automatically.
Volume delta is calculated as volume times the percentage where price closed within the bar's range. An up-close at the high gets full positive delta. A down-close at the low gets full negative delta. This approximates buying and selling pressure without tick data.
Signal strength scoring uses weighted factors. Trend direction gets 30% weight, momentum gets 20%, volume confirmation 15%, divergence presence 15%, ADX strength 10%, and timeframe alignment 10%. This creates a 0-100 composite score.
ADX calculation uses the standard Wilder smoothing method with directional movement indicators. The trend classification shows whether bulls or bears have control, while the strength rating (weak, moderate, strong, extreme) tells you how much conviction is behind the move.
Final Assessment
This is a well-designed RSI indicator that adds genuine value beyond what basic RSI provides. The Laguerre filtering works as advertised for lag reduction. The multi-timeframe analysis saves time and provides clarity. The dynamic thresholds adapt intelligently to changing volatility.
The signal scoring system is particularly useful because it prevents you from chasing low-quality setups. A 35% confidence score tells you immediately that something is wrong with the trade even if RSI looks tempting.
However, this is definitely not a beginner indicator. There are a lot of moving parts and the learning curve is real. You need to understand RSI basics, divergences, volume analysis, and volatility regimes to use this effectively. Someone new to trading would be overwhelmed.
For experienced traders who already understand momentum indicators and want more sophisticated analysis, this is legitimately valuable. The combination of features is not commonly found in free indicators, and the implementation quality is solid.
The main limitation is that it is still just an RSI indicator at its core. No amount of filtering, multi-timeframe analysis, or scoring can overcome the fundamental limitations of oscillator-based trading. You need confluence with price action, support and resistance, and proper market context.
If you trade primarily based on momentum and reversals, this indicator provides most of what you would need in one package. If you are a pure price action trader or trend follower, this probably would not change your approach significantly.
Overall, this is a 7.5 out of 10 indicator. It does what it claims to do well, adds meaningful improvements over basic RSI, and provides useful analysis tools. It is not revolutionary, but it is a solid professional-grade tool for the right type of trader.
스크립트에서 "volume profile"에 대해 찾기
CVD TrendlineHere's a natural description for TradingView:
CVD-Enhanced Multi-Filter Trendline - Institutional Grade Trend System
WHAT IT DOES
This is an institutional-grade trend indicator that combines Cumulative Volume Delta analysis with advanced signal processing filters. It plots a dynamic trendline on your chart that adapts to buying and selling pressure in real-time, surrounded by a pressure-sensitive cloud that changes opacity based on order flow intensity.
The core innovation here is the integration of CVD (the difference between buying and selling volume) directly into the trend calculation. This means the trendline doesn't just follow price - it follows the money. When smart money is accumulating or distributing, you'll see it in the line movement and cloud behavior before it's obvious in price action.
KEY FEATURES
Three Professional Filter Modes - Choose between Standard (Ehlers filters), Kalman (predictive HFT-style), or Butterworth (signal processing). Each has different characteristics for lag versus smoothness.
Advanced CVD Calculation - Uses intrabar analysis when available to accurately measure buying versus selling pressure within each candle. Falls back to basic CVD on higher timeframes.
Laguerre Integration - Combines Laguerre RSI with CVD momentum for a unique blend that catches both momentum shifts and volume flow changes.
Pressure Heatmap Cloud - The cloud around the trendline darkens when buying or selling pressure intensifies. Think of it as a visual intensity meter.
Divergence Detection - Automatically spots when price makes a new high but CVD doesn't confirm, or vice versa. These are your early warning signals.
Zero-Lag Options - Multiple tools to reduce lag including Ehlers Instantaneous Trendline and Super Smoother filters.
UNDERSTANDING THE FILTER MODES
This is where the indicator gets interesting. You have three completely different approaches to smoothing and processing the signal.
Standard Mode - Uses the original Ehlers-based filters. This is proven and reliable. Good balance between smoothness and responsiveness. If you're new to this indicator, start here.
Kalman Filter Mode - This is what high-frequency trading firms use. It's a 2-state filter that tracks both position and velocity, which means it can actually predict where price is headed. It catches turns AS they happen, not after. The tradeoff is it can be a bit twitchy in choppy conditions. Best for active trading and scalping.
Butterworth Filter Mode - Borrowed from professional signal processing. This filter has a "maximally flat" frequency response, which means it removes noise without distorting the signal. Think of it like a high-quality audio filter. Best for swing trading and higher timeframes where you want maximum noise rejection.
HOW THE CVD INTEGRATION WORKS
Traditional trendlines only look at price. This one incorporates CVD, which measures the battle between buyers and sellers. When CVD is positive and rising, it adds upward pressure to the trendline. When CVD is negative and falling, it adds downward pressure.
The result is a trendline that can start turning before price does. If smart money is selling into a rally, CVD goes negative and the trendline will start to flatten or turn down even if price is still rising. That's your early exit signal.
The indicator uses intrabar analysis when possible, which means on lower timeframes it can see the buying and selling that happens within each candle. This is way more accurate than just looking at whether the candle closed green or red.
HOW TO USE IT
The Trendline - When it's lime green and rising, look for long opportunities. When it's purple and falling, look for shorts. The color changes based on slope direction with hysteresis, so it won't flip back and forth on every minor wiggle.
The Cloud - This is your volatility and pressure buffer. In strong trends, price will bounce off the cloud edges. When price breaks through the cloud against the trend, that's often a reversal warning.
Cloud Opacity - This is unique and important. When the cloud is dark and opaque, pressure is intense. When it's faded and transparent, pressure is weak. Dark cloud in a trend = strong conviction. Faded cloud = weak trend or transition zone.
Divergences - The indicator automatically detects when price and CVD disagree. These divergence points are often where reversals start. Watch for price making new highs with the cloud fading and CVD showing weakness.
The Dashboard - Upper right corner shows you what mode you're in, CVD status, volume pressure percentage, trend direction, and intensity tier. Glance at this before taking any trade.
SETTINGS BREAKDOWN
Filter Mode - This is your first decision. Standard for balanced, Kalman for aggressive/scalping, Butterworth for smooth/swing trading.
Laguerre Gamma - Lower values (0.2-0.4) are more responsive, higher values (0.6-0.8) are smoother. Default 0.5 is a good starting point.
CVD Lookback - How many bars to use for CVD normalization. Lower values (10-15) for faster markets, higher values (25-30) for slower markets.
ATR Multiplier - Controls cloud width. Higher values give you more breathing room, lower values keep the cloud tight.
Cloud Width Multiplier - Another way to control cloud size. 0.5 is default. Increase if the cloud is too tight, decrease if it's too wide.
Pressure Amplification - Makes the heatmap effect more dramatic. Higher values mean you'll see darker clouds sooner. Default 1.5 is good.
Heatmap Tiers - How many distinct opacity levels. Lower numbers (3-5) make transitions more visible, higher numbers (7-10) make it smoother.
KALMAN FILTER SETTINGS EXPLAINED
If you choose Kalman mode, you get extra controls:
Measurement Noise - This is your responsiveness dial. Lower (0.2-0.3) for scalping and fast response. Higher (0.4-0.5) for swing trading and stability.
Process Noise - Model uncertainty. Higher values let it adapt faster to volatility. Use 0.03-0.04 in crypto or volatile markets, 0.02-0.025 in stocks.
Velocity Prediction - This is the magic. It's how far ahead the Kalman filter looks. 0.6 means it's showing you where price is likely to be 60% of the way into the next bar. For scalping, 0.5-0.7 is optimal. For swing trading, drop it to 0.3-0.4.
Show Velocity Vector - Turn this on to see a small line showing where the Kalman filter thinks price is heading. Useful for learning how it works.
BEST PRACTICES
Start with Standard mode and default settings. Get comfortable with how the indicator behaves before experimenting with Kalman or Butterworth.
Watch the intensity tier in the dashboard. Trades taken when intensity is 4/5 or 5/5 tend to have better follow-through than trades at 1/5 or 2/5.
Use the cloud as your stop loss guide. If you're long and price closes through the lower cloud boundary, consider exiting or tightening stops.
Pay attention to cloud color transitions. When the cloud is dark purple in a downtrend or dark lime in an uptrend, that's high-conviction movement. Faded clouds mean weak hands.
Don't ignore divergences. When the dashboard shows CVD negative but price is rising, or CVD positive but price is falling, be cautious. The trend might be running on fumes.
In Kalman mode, watch the velocity indicators in the dashboard. Double up arrows (⬆⬆) mean strong acceleration. That's momentum you can trade.
PROS
Multi-dimensional analysis - Combines price, volume, momentum, and pressure in one clean visual.
Professional-grade filters - You're using the same math that HFT firms and aerospace engineers use.
Early turn detection - The CVD integration lets you spot reversals before they're obvious in price.
Highly customizable - Three completely different filter modes plus dozens of settings to dial it in for your style.
Intrabar precision - When available, the advanced CVD calculation gives you institutional-level order flow data.
Visual clarity - The pressure heatmap makes it obvious when conviction is high versus when it's weak.
Works on all markets - Stocks, crypto, forex, futures. The math is universal.
CONS
Complexity overload - There are a lot of settings. It can be overwhelming for beginners. Start with defaults and change one thing at a time.
Kalman can be twitchy - In Kalman mode with aggressive settings, you might get false signals in choppy conditions. It's optimized for trending markets.
Requires volume data - The CVD calculations need reliable volume. On some forex pairs or exotic instruments, volume data is unreliable or unavailable.
Computational load - With advanced CVD and Kalman filtering running, this indicator does a lot of math. You might see lag on older devices or with many indicators loaded.
Learning curve - Understanding the difference between the filter modes and how to optimize settings takes time and experimentation.
Not a standalone system - This shows you the trend and pressure, but you still need to decide entries, exits, and risk management.
TIPS FROM MY TESTING
The indicator shines on the 5-minute to 1-hour timeframes for day trading. For swing trading, it works well on 4-hour to daily.
In Kalman mode with velocity prediction at 0.6, I've found the best entries are when the trendline turns AND the intensity tier is at least 3/5. Those setups have conviction.
Standard mode is actually excellent for beginners despite being called "standard." It's stable and reliable.
Butterworth mode is underrated for swing trading. The noise rejection is phenomenal on daily charts.
The CVD intrabar precision setting matters. On 5-minute charts, use "Covering less chart bars" for precision. On hourly charts, use "Covering some chart bars" for coverage.
Watch for cloud squeezes. When the cloud gets very narrow and then starts expanding with darkening opacity, that's often the start of a big move.
Divergence detection is most reliable on 15-minute and above timeframes. Below that, you get too many false divergences.
COMBINING WITH OTHER TOOLS
This pairs beautifully with any oscillator. Use this for trend direction and the cloud for context, then use RSI or MACD to time exact entries.
Volume profile works great with this. The CVD shows you buying versus selling pressure, volume profile shows you where the fighting is happening.
Use a higher timeframe version for bias. If the 1-hour chart is lime with 5/5 intensity, take only longs on the 5-minute chart.
Support and resistance zones become more powerful when combined with cloud bounces. If price bounces off the cloud AT a key level, that's a high-probability setup.
UNDERSTANDING THE DASHBOARD
Filter - Shows which mode you're in. Kalman displays as KALMAN in aqua, Butterworth as BUTTER in yellow, Standard in gray.
CVD Mode - Shows ADVANCED if intrabar analysis is working, BASIC if it's using fallback. Advanced is more accurate.
CVD - Shows whether cumulative volume delta is positive or negative. This is your order flow direction.
Vol Pressure - Percentage showing buying versus selling pressure right now. Positive means more buying, negative means more selling.
Trend - Current trend direction. BULL or BEAR.
Intensity - Shows the current pressure tier and, in Kalman mode, velocity arrows. This is your conviction meter.
ALERT SYSTEM
The indicator fires alerts when the trend changes from bullish to bearish or vice versa. These are clean alerts with hysteresis built in, so you won't get spammed during sideways chop.
This indicator represents a significant amount of research into institutional-level trend detection. It's not simple, but it's powerful. The combination of CVD integration and professional filter modes gives you an edge that basic moving averages can't provide.
The key is choosing the right filter mode for your trading style and timeframe. Kalman for aggressive scalping, Butterworth for smooth swinging, Standard for reliable balance.
Take the time to understand how the pressure heatmap works. That fading and darkening of the cloud is telling you something important about market conviction. Strong trends have dark clouds. Weak trends or reversals have faded clouds.
Backtest it thoroughly on your markets. Every instrument has its own personality. What works on ES futures might need adjustment for Bitcoin or EUR/USD.
This is a professional tool. Treat it seriously, learn it properly, and it can give you insights that most retail traders never see.
Crypto Schlingel - PVSRA POC EMA Suite v5.903The Chart Indicator Suite combines a wide range of powerful tools that help traders accurately analyze market structures, volatility, and key price zones. With indicators such as POC, pivot points, EMAs, VWAP, Bollinger Bands, and important market levels such as yesterday/weekly high & low, daily open, psy high/low, and ADR, the suite offers a comprehensive overview of trends and market behavior. Supplemented by pvsra candles, long candle detection, and the display of relevant stock market opening hours, it reliably supports traders in making informed trading decisions.
Indicators are configurable
All of the indicators mentioned are fully configurable and can be flexibly adapted to individual trading strategies. Users can freely adjust parameters, display types, and sensitivities to highlight exactly the market information that is relevant to their personal trading style.
The individual fields in the configuration are self-explanatory or are explained in a toolbar, so that the possible settings become clear.
POC
The Point of Control (POC) is a central concept in market profile and volume profile analysis and plays an important role in technical chart analysis. Here is a detailed description of its usefulness and significance:
Definition
The point of control (POC) is the price level at which the most trading volume has taken place within a certain period of time.
It therefore shows the price at which buyers and sellers were most active – the center of market interest.
📊 Use and significance in chart analysis
1. Central support and resistance zone
Since the largest volume was traded at the POC, this price is considered a “fair zone” or equilibrium price.
The market often reacts strongly to the POC:
Above the POC → potential resistance if the price is coming from below.
Below the POC → potential support if the price is falling from above.
Example: If the price returns to the POC, this can be an entry opportunity for traders betting on a market reaction.
2. Interpretation of market acceptance
A price range with high volume (including POC) shows where the market has accepted a fair value.
Low volume, on the other hand, indicates rejection or disinterest.
→ The POC therefore helps to distinguish between accepted price zones and transition areas.
PIVOT POINTS
Pivot points are predefined price levels calculated from the previous day's price data (or a previous time unit).
They help traders identify potential support and resistance zones for the current trading day (or period).
Benefits of pivot points in chart analysis
1. Determining support and resistance areas
The calculated pivot levels (P, S1, S2, R1, R2, etc.) show where the market is likely to react:
Supports (S1, S2, S3) → possible downward turning points.
Resistance (R1, R2, R3) → possible upward turning points.
These zones are often observed by many traders at the same time, making them self-fulfilling marks.
2. Trend determination and market sentiment
If the market opens above the pivot (P) and remains there → signals buying pressure.
If the market trades below the pivot (P) → signals selling pressure.
A break above R1 or below S1 may indicate a strong trend day.
EMA Exponential Moving Average
The EMA is the exponentially weighted moving average of a price.
It shows the average price of a security over a certain period of time, weighted according to recency – that is:
👉 more recent price data has more influence than older data.
This distinguishes it from the simple moving average (SMA), in which all values are weighted equally.
Benefits of the EMA in chart analysis -> Identifying trends
The EMA reacts more quickly to price changes than the SMA and is therefore ideal for:
Identifying trend reversals at an early stage
Confirming trend directions
👉 Rising EMA → Upward trend
👉 Falling EMA → Downward trend
Traders often use combinations such as:
EMA 50 / EMA 200 → Long-term trends
SIGNIFICANCE OF HIGHS AND LOWS
The daily high, daily low, weekly high, and weekly low are objective price zones that show:
Where the market bought (high) or sold (low) the most, and where supply and demand reached their extremes in the past period.
These levels often act as magnetic price zones in ongoing trading, where traders react (entry, profit-taking, or stop setting).
🎯 Use of yesterday's high and low (previous day high/low)
🔹Support and resistance levels
Yesterday's high often acts as resistance when the price comes from below.
Yesterday's low becomes support when the price falls from above.
➡️ Traders watch these levels closely to trade breakouts or reversals.
EMA 9 / EMA 20 → Short-term movements
🎯 Benefits of weekly highs and lows (Weekly High/Low)
Important structural markers in the higher time frame
Weekly highs and lows show medium to long-term market structure.
They are often considered stronger supports/resistances than daily levels.
➡️ For example, if the price breaks above the weekly high, this usually signals institutional interest and may indicate a continuation of the trend.
➡️ Conversely, failure to break above a weekly high may indicate market weakness or a reversal.
DAILY OPEN
The Daily Open is the price at which trading begins on a new day.
It marks the first price after the close of the previous trading session.
👉 In many markets (e.g., Forex, index futures, crypto), this is the starting point of daily price movement, where market direction and sentiment realign.
🎯 Benefits of the Daily Open in chart analysis
Direction indicator (daily bias)
The Daily Open serves as a neutral center line for the current trading day.
Traders use it to assess the market direction (bias):
Price above the Daily Open → bullish day (buyers dominate)
Price below the daily open → bearish day (sellers dominate)
📈 → If the daily open is broken and held above, this indicates upward momentum.
📉 → If it is broken below, this signals weakness.
This simple observation helps traders trade with the daily trend rather than against it.
STOCK MARKET OPENING HOURS
Every major stock exchange has defined trading hours during which institutional capital is active.
Examples (CET):
Asia (Tokyo/ Hong Kong) 1:00 a.m. – 9:00 a.m.
Europe (London/Frankfurt) 08:00 – 17:30
USA (New York) 15:30 – 22:00
Market dynamics change significantly during these time windows, as volume, liquidity, and volatility fluctuate depending on the session.
📈 Benefits in chart analysis
🔹Recognizing volatility and liquidity phases
At the start of a session (e.g., 9:00 a.m. in Frankfurt or 3:30 p.m. in New York), trading volume rises sharply.
This results in strong movements, often with changes in direction or breakouts.
👉 These phases are particularly suitable for:
Breakout strategies
Volume or momentum trades
Example:
If an index (e.g., DAX or S&P 500) reacts strongly at the US opening, this indicates institutional activity that may shape the rest of the day.
PSY HIGH AND PSY LOW
Psy High and Psy Low stand for:
Psychological High → the psychologically significant upper price level of a particular range
Psychological Low → the psychologically significant lower price level
These are often round numbers or striking price zones that market participants unconsciously use as a guide.
Examples:
For EUR/USD: 1.0500, 1.1000, 1.1500
For DAX: 17,000, 17,500, 18,000
For BTC/USD: 60,000, 65,000, 70,000
Traders also refer to such levels as “big figures” or “round numbers.”
📊 Why are psy levels so important?
Because they are based on human perception and market psychology:
👉 People think in round numbers, not in decimals such as 1.1037 or 17.264.
That's why:
Private investors often place their stop losses or take profits just above or below these levels, Institutional traders place large limit orders in these zones, and Algorithms react to the liquidity created there.
→ This results in increased volume, reaction patterns, and price movements at these levels.
ADR (Average Daily Range)
The ADR measures the average daily trading range of a market over a specific period of time – i.e., how many points, pips, or dollars the price typically moves per day.
Example:
If the DAX has moved an average of 180 points per day over the last 14 days, the ADR(14) = 180.
🎯 The benefits of ADR in chart analysis
🔹 Assessment of daily volatility
The ADR shows how much a market typically moves per day.
→ This allows you to see whether the current day is more volatile or calmer than normal.
Interpretation – Meaning
Current range < ADR
→ Market is still moving within normal limits → Potential for further movement
Current range ≈ ADR
→ Daily target largely achieved → lower probability of significant expansion
Current range > ADR
→ Market overextended → increased probability of correction or consolidation
👉 This helps you to plan entries, price targets, and stops realistically.
VWAP (Volume Weighted Average Price)
The VWAP is the volume-weighted average price of a security for a specific period of time – usually per day.
👉 Unlike a simple moving average (e.g., EMA), the VWAP takes into account how much was actually traded – not just where the price was.
It therefore reflects the fair market value, taking into account the trading volume.
🎯 Benefits of VWAP in chart analysis
🔹 Determining the fair average price
The VWAP shows where the majority of the trading volume took place – i.e., the price that the majority of market participants actually paid.
➡️ This is the “fair price of the day.”
Price above VWAP → buyers dominate (bullish)
Price below VWAP → sellers dominate (bearish)
This information is particularly valuable for determining the intraday bias (direction of the day).
BOLLINGER BANDS
Bollinger Bands consist of three lines based on a moving average (usually SMA 20):
Middle band:
→ usually the 20-period SMA (simple moving average)
Upper band:
→ SMA + (2 × standard deviation)
Lower band:
→ SMA − (2 × standard deviation)
👉 This means that the bands “breathe” with volatility – they widen when the market is volatile and contract when the market is calm.
🎯 The benefits of Bollinger Bands in chart analysis
🔹 Measuring market volatility
The main function of Bollinger Bands is to visualize the volatility of a market:
Wide bands → high volatility → strong movement/trend phase
Narrow bands → low volatility → calm market/consolidation
📈 When the bands contract sharply (“Bollinger squeeze”) → often a harbinger of an impending breakout.
KAMA
The KAMA was developed by Perry J. Kaufman.
Unlike normal moving averages such as SMA or EMA, it dynamically adjusts its smoothing to market conditions:
Low volatility / strong trend → reacts faster to price movements
High volatility / sideways movement → reacts slower, reduces false signals
The core idea: adaptability instead of rigid smoothing.
🎯 Benefits of KAMA in chart analysis
🔹 Filtering out market noise
KAMA smooths out unnecessary price fluctuations (noise) that many normal indicators mistakenly interpret as signals.
➡️ This minimizes false signals in sideways phases, while real trends remain visible.
EXTRA LARGE WICKS
A wick (or wick) is the thin line above or below the candle body:
Top → Highest price during the period
Bottom → Lowest price during the period
Long wick → Significant rejection of the price at this extreme zone
Example: A long upper wick means that the price rose high but was then pushed back sharply.
🎯 Benefits of long wicks in chart analysis
🔹 Recognizing rejections and resistance
Long upper wick: Sellers did not allow the higher price → possible downward reversal
Long lower wick: Buyers defended the lower price → possible upward reversal
💡 The market “speaks” through these wicks: It shows where buyers or sellers are not giving in any further.
Cumulative Delta_Effort vs Result_immy**Cumulative Delta Oscillator\_effort**
This script creates a “Cumulative Delta Effort vs Result” oscillator, a custom indicator designed to measure the balance between buying and selling pressure (Effort) versus actual price movement (Result).
**How It Works**
Delta Volume: Measures aggressive buying vs selling per candle.
Cumulative Delta: Tracks net buying/selling pressure over time.
Effort vs Result: Compares volume delta (effort) to price movement (result).
Oscillator: Highlights divergence between effort and result, useful for spotting absorption (high effort, low result) and exhaustion (low effort, high result).
Histogram: Visual cue for accumulation/distribution zones.
----------------------------
This indicator combines volume delta (effort) and price movement (result), so it tells you how efficiently volume is moving price — a concept sometimes called effort vs. result analysis in Wyckoff or volume–spread analysis (VSA).
🔍 Concept Summary
Effort (delta volume) = how much buying/selling pressure is there (volume side).
Result (price change) = how much that effort moves price (price side).
Oscillator (Effort − Result) = how much “extra” effort is not producing movement — often showing absorption or exhaustion.
📈 How to Interpret the Signals
1\. Oscillator above Signal line → Bullish Momentum
When osc > signal, histogram turns green.
Means buying effort is stronger than price reaction — often early sign of accumulation or rising demand.
This can signal:
Possible bullish continuation if confirmed by rising prices.
Or early absorption if prices aren’t yet breaking out (smart money absorbing supply).
✅ Bullish Entry Signal:
When the oscillator crosses above the signal line (green cross) and price is near support or consolidating → potential long setup.
2\. Oscillator below Signal line → Bearish Momentum
When osc < signal, histogram turns red.
Selling effort dominates; can mean increasing supply or price exhaustion.
This often appears before:
Bearish continuation (trend strengthening)
Or upthrust/exhaustion (price rising on weak volume)
❌ Bearish Entry Signal:
When the oscillator crosses below the signal line (red cross), especially if near resistance → potential short setup.
3\. Crossovers
The alert is triggered when: ta.cross(osc, signal)
That means:
Bullish crossover: oscillator line crosses above signal → potential buy momentum shift.
Bearish crossover: oscillator line crosses below signal → potential sell momentum shift.
These work like MACD crossovers, but volume-adjusted.
4\. Zero Line
The zero line is the neutral point.
When osc crosses above zero, overall buying effort exceeds price change — market gaining strength.
When osc crosses below zero, selling pressure increases — market weakening.
→ Combining signal line crosses with zero-line crosses gives stronger confirmation.
5\. Histogram Analysis (Absorption \& Exhaustion)**
Tall green bars: rising momentum (buyers dominate)
Tall red bars: falling momentum (sellers dominate)
Shrinking bars: momentum fading — possible reversal zone.
If volume increases but price stalls, oscillator may spike while price stays flat — absorption (big players taking the opposite side).
If price surges but oscillator weakens, exhaustion — move running out of volume support.
------------------------------------------------------------------------
🧠 Practical Strategy Example
Situation What It Might Mean Possible Action
Oscillator crosses above signal near support Buyer effort increasing, price may rise Go long / close shorts
Oscillator crosses below signal near resistance Seller effort rising, price may drop Go short / take profits
Oscillator high but price flat Absorption (big players absorbing supply) Wait for breakout confirmation
Oscillator low but price flat Absorption (demand absorbing supply) Look for bullish reversal
Oscillator diverges from price Volume–price divergence Early warning of reversal
⚙️ Best Practice
Works best on volume-sensitive assets (futures, crypto, forex tick data).
**Combine with:**
Price structure (support/resistance)
Volume profile / delta footprint
Candle confirmation
We’ll go through both bullish and bearish examples so you can see how to trade with it in real market context.
---------------------------------------------------------------------------------
🟩 Example 1 — Bullish Setup (Long Trade)
Step 1. Context: Identify Potential Support Zone
Before relying on any indicator, find support using:
Previous swing low
Demand zone
VWAP / volume profile node
Trendline or moving average
👉 You’re looking for a place where buyers might step in.
Step 2. Wait for Oscillator Signal
Watch the oscillator panel:
The oscillator (green line) has been below the signal line (orange) → bearish phase.
Then it crosses above the signal line and the histogram turns green.
This means:
➡️ Buying “effort” is increasing faster than price reaction — momentum shift upward.
Step 3. Confirm with Price
On your chart:
Candle closes above short-term resistance or above previous candle high
Ideally volume confirms (green candle with increasing volume)
✅ Bullish Entry Condition
osc crosses above signal
price closes above local resistance
Step 4. Entry \& Stop
Entry: Next candle open after confirmation cross
Stop-loss: Below recent swing low or support zone
Take profit:
2R or 3R target
or near next resistance level
🧠 Optional filter: Only take the trade if oscillator is rising from below zero (coming out of weakness).
Step 5. Manage Trade
If oscillator flattens or starts curling down → tighten stop
If it crosses below the signal again → consider exit
Example Interpretation:
Oscillator crosses above signal from -200 to +100, histogram turns green, price breaks a resistance line → strong bullish reversal → enter long.
🟥 Example 2 — Bearish Setup (Short Trade)
Step 1. Context: Find Resistance
Look for: Prior swing high
Supply zone
Major moving average
Trendline top
Step 2. Wait for Oscillator Cross Down
The oscillator (green) crosses below the signal line (orange).
Histogram turns red.
This means:
➡️ Selling effort is rising relative to price movement — bearish pressure.
Step 3. Confirm with Price
Price fails to make higher highs, or
Forms a bearish engulfing candle near resistance.
✅ Bearish Entry Condition
osc crosses below signal
price confirms with bearish candle
Step 4. Entry \& Stop
Entry: On next candle open
Stop-loss: Above resistance or recent swing high
Take profit: 2R or more or at next major support
Step 5. Exit on Opposite Signal
If oscillator crosses back above signal → momentum shift → exit short.
⚙️ Pro Tips
Tip Why It Matters
Use on 15m–4H+ charts More reliable delta signal
Combine with volume or OBV Confirms “effort” strength
Watch divergences Early reversals
Align with higher timeframe trend Avoid countertrend traps
-------------------------------------------------------------------------------------------------
🧩 Quick Checklist
Step Condition Action
1 Identify zone (support/resistance) Mark area
2 Oscillator crossover Prepare order
3 Candle confirmation Enter
4 Stop-loss \& target Manage risk
5 Opposite cross Exit
Please follow and like if you appreciate my work. thank you.
WorldCup Dashboard + Institutional Sessions© 2025 NewMeta™ — Educational use only.
# Full, Premium Description
## WorldCup Dashboard + Institutional Sessions
**A trade-ready, intraday framework that combines market structure, real flow, and institutional timing.**
This toolkit fuses **Institutional Sessions** with a **price–volume decision engine** so you can see *who is active*, *where value sits*, and *whether the drive is real*. You get: **CVD/Delta**, volume-weighted **Momentum**, **Aggression** spikes, **FVG (MTF)** with nearest side, **Daily Volume Profile (VAH/POC/VAL)**, **ATR regime**, a **24h position gauge**, classic **candle patterns**, IBH/IBL + **first-hour “true close”** lines, and a **10-vote confluence scoreboard**—all in one view.
---
## What’s inside (and how to trade it)
### 🌍 Institutional Sessions (Sydney • Tokyo • London • New York)
* Session boxes + a highlighted **first hour**.
* Plots the **true close** (first-hour close) as a running line with a label.
**Use:** Many desks anchor risk to this print. Above = bullish bias; below = bearish. **IBH/IBL** breaks during London/NY carry the most signal.
### 📊 CVD / Delta (Flow)
* Net buyer vs seller pressure with smooth trend state.
**Use:** **Rising CVD + acceptance above mid/POC** confirms continuation. Bearish price + rising CVD = caution (possible absorption).
### ⚡ Volume-Weighted Momentum
* Momentum adjusted by participation quality (volume).
**Use:** Momentum>MA and >0 → trend drive is “real”; <0 and falling → distribution risk.
### 🔥 Aggression Detector
* ROC × normalized volume × wick factor to flag **forceful** candles.
**Use:** On spikes, avoid fading blindly—wait for pullbacks into **aligned FVG** or for aggression to cool.
### 🟦🟪 Fair Value Gaps (with MTF)
* Detects up to 3 recent FVGs and marks the **nearest** side to price.
**Use:** Trend pullbacks into **bullish FVG** for longs; bounces into **bearish FVG** for shorts. Optional threshold to filter weak gaps.
### 🧭 24h Gauge (positioning)
* Shows current price across the 24h low⇢high with a mid reference.
**Use:** Above mid and pushing upper third = momentum continuation setups; below mid = sell the rips bias.
### 🧱 Daily Volume Profile (manual per day)
* **VAH / POC / VAL** derived from discretized rows.
**Use:** **POC below** supports longs; **POC above** caps rallies. Fade VAH/VAL in ranges; treat them as break/hold levels in trends.
### 📈 ATR Regime
* **ATR vs ATR-avg** with direction and regime flag (**HIGH / NORMAL / LOW**).
**Use:** HIGH ⇒ give trades room & favor trend following. LOW ⇒ fade edges, scale targets.
### 🕯️ Candle Patterns (contextual, not standalone)
* Engulfings, Morning/Evening Star, 3 Soldiers/Crows, Harami, Hammer/Shooting Star, Double Top/Bottom.
**Use:** Only with session + flow + momentum alignment.
### 🤝 Price–Volume Classification
* Labels each bar as **continuation**, **exhaustion**, **distribution**, or **healthy pullback**.
**Use:** Align continuation reads with trend; treat “Price↑ + Vol↓” as a caution flag.
### 🧪 Confluence Scoreboard & B/S Meter
* Ten elements vote: 🔵 bull, ⚪ neutral, 🟣 bear.
**Use:** Execution filter—take setups when the board’s skew matches your trade direction.
---
## Playbooks (actionable)
**Trend Pullback (Long)**
1. London/NY active, Momentum↑, CVD↑, price above 24h mid & POC.
2. Pullback into **nearest bullish FVG**.
3. Invalidate under FVG low or **true-close** line.
4. Targets: IBH → VAH → 24h high.
**Range Fade (Short)**
1. Asia/quiet regime, **Price↑ + Vol↓** into **VAH**, ATR low.
2. Nearest FVG bearish or scoreboard skew bearish.
3. Invalidate above VAH/IBH.
4. Targets: POC → VAL.
**News/Impulse**
Aggression spike? Don’t chase. Let it pull back into the aligned FVG; require CVD/Momentum agreement before entry.
---
## Alerts (included)
* **Bull/Bear Confluence ≥ 7/10**
* **Intraday Target Achieved** / **Daily Target Achieved**
* **Session True-Close Retests** (Sydney/Tokyo/London/NY)
*(Keep alerts “Once per bar” unless you specifically want intrabar triggers.)*
---
## Setup Tips
* **UTC**: Choose the reference that matches how you track sessions (default UTC+2).
* **Volume threshold**: 2.0× is a strong baseline; raise for noisy alts, lower for majors.
* **CVD smoothing**: 14–24 for scalps; 24–34 for slower markets.
* **ATR lengths**: Keep defaults unless your asset has a persistent regime shift.
---
## Why this framework?
Because **timing (sessions)**, **truth (flow)**, and **location (value/FVG)** together beat any single signal. You get *who is trading*, *how strong the push is*, and *where risk lives*—on one screen—so execution is faster and cleaner.
---
**Disclaimer**: Educational use only. Not financial advice. Markets are risky—backtest and size responsibly.
MACD Trading System - Professional V2# MACD Trading System - Professional V2
## Executive Summary
**MACD Pro V2** is an institutional-grade trading indicator combining classical MACD analysis with advanced risk management, multi-timeframe confirmation, and comprehensive performance metrics. Designed for both manual traders and algorithmic systems, this indicator provides actionable signals with built-in stop loss calculation, take profit targets, position sizing, and trailing stop logic.
This indicator is NOT just a signal generator—it's a complete trading system with risk/reward management, performance tracking, and market regime detection.
---
## Core Features
### 1. Advanced MACD Calculation
- **Customizable EMAs**: Fast (default 8), Slow (default 21), Signal (default 5)
- **Confirmed Signals**: Uses barstate.isconfirmed to prevent repainting
- **Zero-Line Position**: Shows MACD above/below zero for momentum context
### 2. Multi-Timeframe Analysis
- **4 Simultaneous Timeframes**: 4H, 1H, 15M, 5M analyzed in parallel
- **MTF Alignment Score**: 0-100% showing consensus across timeframes
- **Smart Requests**: Uses lookahead=barmerge.lookahead_off for accuracy
### 3. Market Regime Detection
Automatically identifies current market conditions:
- **TRENDING** - ADX > 25, strong directional movement
- **RANGING** - ADX < 20, choppy sideways movement
- **VOLATILE** - ATR > 1.5x average, high uncertainty
- **NORMAL** - Default market state
### 4. Integrated Risk Management
Complete position management system:
- **Stop Loss Calculation**: Automatic SL placement based on ATR × multiplier
- **Take Profit Targets**: Calculated using Risk:Reward ratio (default 2:1)
- **Position Sizing**: Scales position size based on account risk percentage
- **Trailing Stop**: Dynamically adjusts SL as price moves in your favor
- **Drawdown Monitoring**: Tracks maximum drawdown vs account
### 5. Advanced Signal Scoring
0-100 point system weighing:
- **MTF Alignment (35%)**: Multi-timeframe confirmation strength
- **Momentum (25%)**: RSI conditions + Divergence detection
- **Volume (20%)**: Volume profile and confirmation
- **Volatility (20%)**: Market regime adjustment
**Signal Classifications:**
- **STRONG (70+)**: High confidence, tight stops, optimal entry
- **MEDIUM (50-69)**: Valid signals, confirm with price action
- **WEAK (<50)**: Low conviction, skip or use tight risk management
### 6. Professional Performance Metrics
Real-time trading statistics:
- **Win Rate**: Percentage of winning trades
- **Max Drawdown**: Largest peak-to-trough decline
- **Sharpe Ratio**: Risk-adjusted returns (anualized)
- **Profit Factor**: Gross profit / Gross loss ratio
- **Consecutive Losses**: Psychological stress indicator
### 7. Advanced Filtering System
- **Divergence Detection**: Automatic bullish/bearish divergence identification
- **Support/Resistance**: Pivot-based dynamic S/R levels
- **Volume Confirmation**: Only takes signals with volume > 1.0x average
- **Session Filter**: Optional trading hours restriction
- **Volatility Adjustment**: Reduces entries in extremely high volatility
---
## How It Works
### Signal Generation Process
**Step 1: MACD Crossover**
- Crossover of MACD above/below signal line triggers base signal
- Uses confirmed values to prevent false signals
**Step 2: Multi-Timeframe Confirmation**
- Checks trend alignment on 4H, 1H, 15M, 5M
- Calculates MTF alignment percentage
- Higher alignment = higher confidence
**Step 3: Advanced Scoring**
Signal is scored on 100-point scale:
- MTF alignment contribution (35 pts max)
- RSI + Divergence (25 pts max)
- Volume profile (20 pts max)
- Volatility regime adjustment (20 pts max)
**Step 4: Filter Application**
- Session filter (if enabled)
- Support/Resistance proximity bonus
- Volume confirmation requirement
- Drawdown check (if risk mgmt enabled)
**Step 5: Risk Calculation**
- Stop Loss placed 2 ATR below entry (customizable)
- Take Profit calculated using 2:1 risk/reward ratio
- Position size scaled to risk 1% per trade
- Trailing stop activated after 1R profit
**Step 6: Signal Output**
- Buy Signal: Green triangle (Strong) or circle (Medium)
- Sell Signal: Red triangle (Strong) or circle (Medium)
- Dashboard shows complete trade details
---
## Trading Scenarios
### Scenario 1: Strong Buy Setup
```
Requirements met:
✓ MACD crosses above signal line
✓ 3/4 timeframes bullish (4H, 1H, 15M)
✓ RSI oversold (< 30)
✓ Volume spike confirmed
✓ Score: 78/100 → STRONG BUY
System provides:
- Entry: Current price
- Stop Loss: 2 ATR below entry
- Take Profit: 2× risk distance above
- Position Size: Adjusted to 1% account risk
- Trailing Stop: Activates at 1R profit
```
### Scenario 2: Medium Buy with Divergence
```
Requirements met:
✓ MACD crosses above signal line
✓ 2/4 timeframes bullish (4H, 1H)
✓ Bullish divergence detected
✓ Price near support level
✓ Score: 62/100 → MEDIUM BUY
Considerations:
- Lower confidence → tighter risk management
- Use smaller position size
- Require additional confirmation
- Better as counter-trend entry
```
### Scenario 3: Ranging Market Filter
```
Market condition detected: RANGING
ADX < 20, sideways movement
System response:
- Reduces signal score by volatility adjustment
- May skip signals entirely
- Prioritizes higher confluence
- Warns of low trend probability
Best action: Wait for trending market
```
---
## Risk Management Deep Dive
### Stop Loss Calculation
```
Stop Loss Distance = ATR × ATR Multiplier (default 2.0)
Example:
- Current price: 1.0850
- ATR(14): 0.0045
- SL Distance: 0.0045 × 2.0 = 0.009
- BUY SL: 1.0850 - 0.009 = 1.0760
```
### Position Sizing
```
Position Size = (Account Risk % / Price Risk %)
Example:
- Risk per trade: 1% of account
- Stop distance: 0.009 on price of 1.0850
- Price risk: 0.009 / 1.0850 = 0.83%
- Position size: 1.0% / 0.83% = 1.2x (capped at 1.0x max)
```
### Trailing Stop Logic
```
Normal SL: 2 ATR below entry
Trigger Level: Entry + (Entry - SL) × Trail Activation (1.0R)
Trailing Mechanism:
- If price hits trigger, trailing SL activates
- SL moves up to: Close - 2 ATR
- SL never moves down, only up (for longs)
- Protects profits while allowing upside
```
### Drawdown Protection
```
Tracks:
- Peak equity reached
- Current drawdown from peak
- Maximum drawdown recorded
- Stops trading if max DD exceeded
Example:
- Peak: $10,000
- Current: $9,200
- Drawdown: 8%
- Max allowed: 10%
- Status: CONTINUE TRADING
```
---
## Dashboard Metrics Explained
### Market Section
- **Market Regime**: Current state (Trending/Ranging/Volatile/Normal)
- **ADX Value**: Trend strength indicator (0-100)
### Position Section
- **Current Position**: LONG, SHORT, or NONE
- **P&L**: Unrealized profit/loss percentage if in position
### Timeframe Section
- Individual 4H/1H/15M trend status
- **Alignment**: Percentage of bullish timeframes
### Risk Management Section
- **Stop Loss %**: Distance from current price
- **Take Profit %**: Target profit distance
- **Position Size**: Capital allocation multiplier
- **Risk %**: Per-trade risk percentage
### Performance Section
- **Win Rate**: % of winning trades (>60% is excellent)
- **Max DD**: Maximum drawdown experienced
- **Sharpe Ratio**: Risk-adjusted return metric
- **Profit Factor**: Ratio of profits to losses
### Indicators Section
- **RSI**: Momentum and overbought/oversold levels
- **Volume**: Current vs. average volume ratio
- **Divergence**: Active divergence detection
---
## Advanced Features
### Divergence Detection
```
Bullish Divergence:
- Price makes lower low
- MACD makes higher high
- Signals potential reversal UP
Bearish Divergence:
- Price makes higher high
- MACD makes lower low
- Signals potential reversal DOWN
Lookback: 20 bars (customizable)
```
### Support & Resistance
```
Method: Pivot High/Low detection
- Pivot Left/Right: 10 bars
- Dynamic S/R levels update as new pivots form
- Bonus score if entry near identified levels
```
### Performance Tracking
Real-time statistics calculated from:
- Win/loss signals
- Profit/loss per trade
- Consecutive losing trades
- Cumulative returns
- Standard deviation (Sharpe calculation)
Stores last 100 trades in memory for statistics.
---
## Input Parameters Explained
### MACD Settings
- **Fast EMA** (5-13): Lower = more responsive, more false signals
- **Slow EMA** (20-26): Higher = smoother, misses faster moves
- **Signal EMA** (5-9): Crossover sensitivity
### Risk Management
- **ATR Period** (default 14): Volatility measurement period
- **SL ATR Multiplier** (1.5-3.0): Stop loss tightness
- **Risk:Reward Ratio** (1-5): Profit target calculation
- **Trail Activation** (0.5-2.0): When to start trailing stop
- **Risk Per Trade** (0.1-5.0): Account risk percentage
- **Max Drawdown** (5-30%): Trading pause threshold
### Scoring Weights
Customize signal emphasis:
- **MTF Alignment** (35%): How important is multi-timeframe
- **Momentum** (25%): RSI and divergence weight
- **Volume** (20%): Volume confirmation priority
- **Volatility** (20%): Regime adjustment strength
### Advanced Filters
- **Check Divergence**: Enable/disable divergence scoring
- **Session Filter**: Restrict to specific hours
- **Min Volume Ratio**: Minimum volume for signal
### Display
- **Show Dashboard**: Main metrics table
- **Show Performance**: Trading statistics
- **Show S/R Levels**: Support/resistance visualization
---
## Best Practices
1. **Backtest Before Trading**: Test parameters on your preferred pairs
2. **Start with Strong Signals**: Use only 70+ scored signals initially
3. **Position Size**: Never risk more than 1-2% per trade
4. **Market Regime Awareness**: Skip ranging market entries
5. **Volume Confirmation**: Always check volume spikes
6. **Profit Taking**: Lock in profits at TP, don't let winners die
7. **Loss Management**: Honor stop losses, don't move them
8. **Performance Review**: Check metrics weekly, adjust if needed
---
## Trading Strategy Examples
### Conservative Strategy (Win-Rate Focus)
```
Settings:
- Signal Score Minimum: 70+ (Strong only)
- Risk Per Trade: 0.5%
- Risk:Reward: 3:1
- Position Size: 0.5x (smaller)
Targets:
- Win Rate > 65%
- Max DD < 5%
- Profit Factor > 2.0
```
### Aggressive Strategy (Profit Focus)
```
Settings:
- Signal Score Minimum: 50+ (Medium+)
- Risk Per Trade: 2%
- Risk:Reward: 1.5:1
- Position Size: 1.0x (maximum)
Targets:
- Win Rate > 55%
- Max DD < 10%
- Profit Factor > 1.5
```
### Trend Trading Strategy
```
Settings:
- Only trade when ADX > 25 (Trending)
- MTF Alignment: 3+ timeframes
- Use Trailing Stop: Yes
- Risk:Reward: 2.5:1
Focus on: Riding large moves
Best on: 4H timeframe
Pairs: Trending majors (EURUSD, GBPUSD)
```
### Divergence Trading Strategy
```
Settings:
- Signal Score Minimum: 60+
- Enable Divergence: Yes
- Volume Confirmation: Required
- Position Size: 0.75x
Focus on: Reversal entries
Best setup: Divergence at resistance/support
Risk management: Tight stops (1.5 ATR)
```
---
## Advantages
✓ Complete trading system, not just signals
✓ Built-in risk management and position sizing
✓ Real-time performance tracking
✓ Multi-timeframe confirmation reduces false signals
✓ Advanced filtering and divergence detection
✓ Market regime awareness
✓ Customizable scoring weights
✓ Professional dashboard display
✓ Support/resistance integration
✓ Trailing stop logic for profit protection
---
## Limitations
- Lagging indicator (uses confirmed bars)
- Works best on trending markets
- Not optimized for news/event trading
- Requires parameter optimization per pair
- Performance varies by timeframe
- Past performance doesn't guarantee future results
- Can produce whipsaw signals in ranging markets
---
## System Requirements
- TradingView Premium or higher (for advanced charting)
- Recommended: 4H or 1H timeframe
- Historical data: Minimum 100 bars
- Currency pairs: Works on all FX pairs, stocks, commodities
---
## Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice and does not guarantee profits. Past performance does not predict future results.
**Important Notices:**
- Always use proper risk management
- Trade only with capital you can afford to lose
- Backtest thoroughly before live trading
- Combine with your own analysis
- Consider external market factors and news
- Monitor positions actively
- Keep emotional discipline
---
## Support & Optimization
For best results:
1. Test on your preferred instrument (6-12 months history)
2. Adjust MACD parameters to your timeframe
3. Optimize scoring weights to your style
4. Set risk management per your account size
5. Document your trade results and review weekly
6. Adapt parameters if performance degrades
This is a powerful system when used correctly. Respect the rules and let statistics work in your favor.
Volume Voids [theUltimator5]Volume Voids highlights price regions with no or unusually thin participation over a chosen lookback. It bins the lookback’s full price range into equal steps, assigns each bar’s close to a bin, and accumulates volume per bin. Contiguous runs of zero-volume bins are shown as “voids,” while low-volume runs (below a dynamic threshold) mark thin-liquidity “corridors” where price often traverses quickly when revisited.
An optional PoC (Point of Control) line marks the mid-price of the highest-volume bin—commonly treated as a recent “value” area that price may revisit.
What it draws on your chart
Histogram (optional): Right-anchored horizontal volume-by-price bars built from your lookback and bin count. Bars tint green→red via a simple delta proxy (up-bar volume minus down-bar volume) to hint at directional participation inside each price band.
Point of Control (optional): A horizontal line at the highest-volume bin’s mid-price (the PoC).
Zero-Volume Voids: Translucent boxes where no bin volume printed within the window (detected between the first and last non-empty bins ).
Low-Volume Zones: Translucent boxes where bin volume is below a dynamic threshold (see formula below), often acting like low-friction corridors.
How it works
Slice the lookback’s high→low into N equal price bins.
Assign each bar’s closing price to a bin and add that bar’s volume to the bin total. A simple up/down-bar delta proxy drives the histogram’s tinting.
PoC = bin with the maximum accumulated volume.
Zero-Volume Voids = contiguous runs of bins with exactly zero volume (bounded by the first/last occupied bins).
Low-Volume Zones = contiguous runs of bins with volume below:
threshold = total_window_volume ÷ (divisor × number_of_bins)
Lower divisor → more LV boxes; higher divisor → stricter/fewer boxes.
Note: This is a lightweight, chart-native approximation of a volume profile. Volume is binned by bar close (not by tick-level prints or intrabar distribution), so “voids”/“thin” areas reflect this approximation.
Key inputs
Lookback Period: Window for calculations.
Number of Volume Boxes (bins): Histogram resolution.
PoC / Show Histogram / Anchor to Right Side: Visibility and layout controls.
Low-Volume Threshold Divisor: Sensitivity for LV detection.
Colors & Labels: Customize zero-volume / low-volume box colors and optional labels with offsets.
How to use (educational, not signals)
Context: High-volume = acceptance; thin/zero-volume = inefficiency. Price often rotates near acceptance and moves faster through thin areas.
Revisits: On returns to prior voids/LV zones, watch for accelerated moves or fills; PoC can serve as a balance reference.
Confluence: Pair with trend tools (e.g., ADX), VWAP/session markers, or structure levels for timing and risk.
Limitations & performance
Bins use closing price only; intrabar distribution is not modeled.
Detections refresh on the live bar; visuals can be heavy on large lookbacks/high bin counts—reduce bins/lookback or hide labels if needed.
Technical Summary VWAP | RSI | VolatilityTechnical Summary VWAP | RSI | Volatility
The Quantum Trading Matrix is a multi-dimensional market-analysis dashboard designed as an educational and idea-generation tool to help traders read price structure, participation, momentum and volatility in one compact view. It is not an automated execution system; rather, it aggregates lightweight “quantum” signals — VWAP position, momentum oscillator behaviour, multi-EMA trend scoring, volume flow and institutional activity heuristics, market microstructure pivots and volatility measures — and synthesizes them into a single, transparent score and signal recommendation. The primary goal is to make explicit why a given market looks favourable or unfavourable by showing the individual ingredients and how they combine, enabling traders to learn, test and form rules based on observable market mechanics.
Each module of the matrix answers a distinct market question. VWAP and its percentage distance indicate whether the current price is trading above or below the intraday volume-weighted average — a proxy for intraday institutional control and value. The quantum momentum oscillator (fast and slow EMA difference scaled to percent) captures short-to-intermediate momentum shifts, providing a quickly responsive view of directional pressure. Multi-EMA trend scoring (8/21/50) produces a simple, transparent trend score by counting conditions such as price above EMAs and cross-EMAs ordering; this score is used to categorize market trend into descriptive buckets (e.g., STRONG UP, WEAK UP, NEUTRAL, DOWN). Volume analysis compares current volume to a recent moving average and computes a Z-score to detect spikes and unusual participation; additional buy/sell pressure heuristics (buyingPressure, sellingPressure, flowRatio) estimate whether upside or downside participation dominates the bar. Institutional activity is approximated by flagging large orders relative to volume baseline (e.g., volume > 2.5× MA) and estimating a dark pool proxy; this is a heuristic to highlight bars that likely had large players involved.
The dashboard also performs market-structure detection with small pivot windows to identify recent local support/resistance areas and computes price position relative to the daily high/low (dailyMid, pricePosition). Volatility is measured via ATR divided by price and bucketed into LOW/NORMAL/HIGH/EXTREME categories to help you adapt stop sizing and expectational horizons. Finally, all these pieces feed an interpretable scoring function that rewards alignment: VWAP above, strong flow ratio, bullish trend score, bullish momentum, and favorable RSI zone add to the overall score which is presented as a 0–100 metric and a colored emoji indicator for at-a-glance assessment.
The mashup is purposeful: each indicator covers a failure mode of the other. For example, momentum readings can be misleading during volatility spikes; VWAP informs whether institutions are on the bid or offer; volume Z-score detects abnormal participation that can validate a breakout; multi-EMA score mitigates single-EMA whipsaws by requiring a combination of price/EMA conditions. Combining these signals increases information content while keeping each component explainable — a key compliance requirement. The script intentionally emphasizes transparency: when it shows a BUY/SELL/HOLD recommendation, the dashboard shows the underlying sub-components so a trader can see whether VWAP, momentum, volume, trend or structure primarily drove the score.
For practical use, adopt a clear workflow: (1) check the matrix score and read the component tiles (VWAP position, momentum, trend and volume) to understand the drivers; (2) confirm market-structure support/resistance and pricePosition relative to the daily range; (3) require at least two corroborating components (for example, VWAP ABOVE + Momentum BULLISH or Volume spike + Trend STRONG UP) before considering entries; (4) use ATR-based stops or daily pivot distance for stop placement and size positions such that the trade risks a small, pre-defined percent of capital; (5) for intraday scalps shorten holding time and tighten stops, for swing trades increase lookback lengths and require multi-timeframe (higher TF) agreement. Treat the matrix as an idea filter and replay lab: when an alert triggers, replay the bars and observe which components anticipated the move and which lagged.
Parameter tuning matters. Shortening the momentum length makes the oscillator more sensitive (useful for scalping), while lengthening it reduces noise for swing contexts. Volume profile bars and MA length should match the instrument’s liquidity — increase the MA for low-liquidity stocks to reduce false institutional flags. The trend multiplier and signal sensitivity parameters let you calibrate how aggressively the matrix counts micro evidence into the score. Always backtest parameter sets across multiple periods and instruments; run walk-forward tests and keep a simple out-of-sample validation window to reduce overfitting risk.
Limitations and failure modes are explicit: institutional flags and dark-pool estimates are heuristics and cannot substitute for true tape or broker-level order flow; volume split by price range is an approximation and will not perfectly reflect signed volume; pivot detection with small windows may miss larger structural swings; VWAP is typically intraday-centric and less meaningful across multi-day swing contexts; the score is additive and may not capture non-linear relationships between features in extreme market regimes (e.g., flash crashes, circuit breaker events, or overnight gaps). The matrix is also susceptible to false signals during major news releases when price and volume behavior dislocate from typical patterns. Users should explicitly test behavior around earnings, macro data and low-liquidity periods.
To learn with the matrix, perform these experiments: (A) collect all BUY/SELL alerts over a 6-month period and measure median outcome at 5, 20 and 60 bars; (B) require additional gating conditions (e.g., only accept BUY when flowRatio>60 and trendScore≥4) and compare expectancy; (C) vary the institutional threshold (2×, 2.5×, 3× volumeMA) to see how many true positive spikes remain; (D) perform multi-instrument tests to ensure parameters are not tuned to a single ticker. Document every test and prefer robust, slightly lower returns with clearer logic rather than tuned “optimal” results that fail out of sample.
Originality statement: This script’s originality lies in the curated combination of intraday value (VWAP), multi-EMA trend scoring, momentum percent oscillator, volume Z-score plus buy/sell flow heuristics and a compact, interpretable scoring system. The script is not a simple indicator mashup; it is a didactic ensemble specifically designed to make internal rationale visible so traders can learn how each market characteristic contributes to actionable probability. The tool’s novelty is its emphasis on interpretability — showing the exact contributing signals behind a composite score — enabling reproducible testing and educational value.
Finally, for TradingView publication, include a clear description listing the modules, a short non-technical summary of how they interact, the tunable inputs, limitations and a risk disclaimer. Remove any promotional content or external contact links. If you used trademark symbols, either provide registration details or remove them. This transparent documentation satisfies TradingView’s requirement that mashups justify their composition and teach users how to use them.
Quantum Trading Matrix — multi-factor intraday dashboard (educational use only).
Purpose: Combines intraday VWAP position, a fast/slow EMA momentum percent oscillator, multi-EMA trend scoring (8/21/50), volume Z-score and buy/sell flow heuristics, pivot-based microstructure detection, and ATR-based volatility buckets to produce a transparent, componentized market score and trade-idea indicator. The mashup is intentional: VWAP identifies intraday value, momentum detects short bursts, EMAs provide structural trend bias, and volume/flow confirm participation. Signals require alignment of at least two components (for example, VWAP ABOVE + Momentum BULLISH + positive flow) for higher confidence.
Inputs: momentum period, volume MA/profile length, EMA configuration (8/21/50), trend multiplier, signal sensitivity, color and display options. Use shorter momentum lengths for scalps and longer for swing analysis. Increase volume MA for thinly traded instruments.
Limitations: Institutional/dark-pool estimates and flow heuristics are approximations, not actual exchange tape. VWAP is intraday-focused. Expect false signals during major news or low-liquidity sessions. Backtest and paper-trade before applying real capital.
Risk Disclaimer: For education and analysis only. Not financial advice. Use proper risk management. The author is not responsible for trading losses.
________________________________________
Risk & Misuse Disclaimer
This indicator is provided for education, analysis and idea generation only. It is not investment or financial advice and does not guarantee profits. Institutional activity flags, dark-pool estimates and flow heuristics are approximations and should not be treated as exchange tape. Backtest thoroughly and use demo/paper accounts before trading real capital. Always apply appropriate position sizing and stop-loss rules. The author is not responsible for any trading losses resulting from the use or misuse of this tool.
________________________________________
Risk Disclaimer: This tool is provided for education and analysis only. It is not financial advice and does not guarantee returns. Users assume all risk for trades made based on this script. Back test thoroughly and use proper risk management.
Multi-Factor Crypto SignalsMulti-Factor Crypto Signals - Advanced Technical Indicator**
📊 **General Description**
The Multi-Factor Crypto Signals is an advanced technical indicator designed specifically for cryptocurrency analysis. This system combines 6 independent technical factors to generate more accurate and reliable buy and sell signals, significantly reducing the false positives common in simpler indicators.
🎯 **Technical Methodology**
**Theoretical Foundation**
This indicator is built on the principles of multi-factor technical analysis, where multiple independent indicators must align before generating a signal. This approach is widely recognized in financial literature as more effective than standalone indicators.
**Analyzed Factors**
1. **Time Momentum Oscillator (TMO)**
- **Function**: Detects overbought and oversold conditions
- **Calculation**: Based on the sum of price movements relative to the previous period
- **Application**: Identifies potential reversal points
- **Settings**: Length (14), Calculation Period (5), Smoothing (3)
2. **Customized MACD**
- **Function**: Analyzes momentum and trend changes
- **Modifications**: Optimized periods for crypto (8, 21, 5)
- **Application**: Detects bullish/bearish crossovers and histogram momentum
- **Advantage**: More responsive than traditional MACD (12, 26, 9)
3. **Volume Analysis**
- **Function**: Confirms the strength of price movements
- **Method**: Current volume vs. moving average with a multiplier
- **Application**: Filters signals without volume support
- **Settings**: MA Period (20), Multiplier (1.5)
4. **DXY Filter (U.S. Dollar Index)**
- **Function**: Considers the strength/weakness of the U.S. dollar
- **Correlation**: Weak DXY → bullish for crypto / Strong DXY → bearish for crypto
- **Data**: Uses TVC:DXY as the source
- **Settings**: 21-period EMA to determine trend
5. **Stochastic RSI**
- **Function**: A more sensitive version of RSI for reversals
- **Advantage**: Anticipates movements before traditional RSI
- **Levels**: Oversold < 20, Overbought > 80
- **Settings**: %K (14), %D (3)
6. **Precision Indicators**
- **Williams %R**: Momentum in volatile markets (-80/-20)
- **Money Flow Index (MFI)**: RSI with volume incorporation (20/80)
- **Bollinger Bands**: Price extremes with reversal (20, 2.0)
⚙️ **Settings and Parameters**
**Basic Settings**
- **TMO Length**: 14 (periods for TMO calculation)
- **TMO Calc Length**: 5 (periods for momentum)
- **TMO Smoothing**: 3 (line smoothing)
- **TMO Overbought/Oversold**: 6/-6 (entry levels)
**MACD Settings**
- **Fast Length**: 8 (fast EMA)
- **Slow Length**: 21 (slow EMA)
- **Signal Length**: 5 (signal line)
**Volume Settings**
- **Volume MA Length**: 20 (volume moving average)
- **High Volume Threshold**: 1.5 (multiplier for high volume)
**DXY Settings**
- **Use DXY Filter**: true/false (enable/disable filter)
- **DXY EMA Length**: 21 (EMA periods)
**Precision Settings**
- **Stochastic %K**: 14 (stochastic period)
- **Williams %R Length**: 14 (Williams period)
- **MFI Length**: 14 (MFI period)
- **BB Length/Multiplier**: 20/2.0 (Bollinger Bands)
**Main Setting**
- **Minimum Factors Required**: 3-6 (minimum factors to generate a signal)
🎨 **Visual Interpretation**
**Main Signals**
- 🚀 **Strong Buy (Large Green Arrow)**: 5+ factors aligned for a buy
- 🟢 **Buy Signal (Normal Green Arrow)**: 3-4 factors aligned for a buy
- 💥 **Strong Sell (Large Red Arrow)**: 5+ factors aligned for a sell
- 🔴 **Sell Signal (Normal Red Arrow)**: 3-4 factors aligned for a sell
**Warning Signals**
- ⚠️ **Yellow Triangle**: 2 bullish factors (approaching a buy signal)
- ⚠️ **Orange Triangle**: 2 bearish factors (approaching a sell signal)
📈 **How to Use**
**Step 1: Initial Setup**
- Add the indicator to the chart
- Adjust "Minimum Factors Required" (recommended: 3 for beginners, 4-5 for experienced traders)
- Configure periods based on your trading style
**Step 2: Signal Interpretation**
- **Strong Signals**: Wait for large arrows (5+ factors) for higher reliability
- **Normal Signals**: Normal arrows (3-4 factors) for frequent opportunities
- **Confirmation**: Check the status table to see which factors are active
**Step 3: Risk Management**
- **Stop Loss**: Place stops below/above supports/resistances
- **Take Profit**: Use Fibonacci levels or technical resistances
- **Timeframes**: Test across multiple timeframes for confirmation
**Recommended Settings by Profile**
- **Conservative Trader**:
- Minimum Factors: 4-5
- Use DXY Filter: true
- Use Volume Confirmation: true
- **Aggressive Trader**:
- Minimum Factors: 3
- Shorter indicator periods
- Focus on higher-frequency signals
- **Scalper**:
- TMO shorter periods (10, 3, 2)
- Faster MACD (5, 13, 3)
- Timeframes: 1m, 5m, 15m
🔔 **Available Alerts**
- 🟢 **Multi-Factor Buy**: Normal buy signal
- 🔴 **Multi-Factor Sell**: Normal sell signal
- 🚀 **Strong Buy**: Strong buy signal (5+ factors)
- 💥 **Strong Sell**: Strong sell signal (5+ factors)
Usage Recommendations**
- **Combine with Fundamental Analysis**: Use as a complement, not a standalone tool
- **Test in Paper Trading**: Practice before using real capital
- **Adjust Parameters**: Optimize for specific assets and timeframes
- **Risk Management**: Always use stops and size positions appropriately
📚 **Scientific Basis and References**
**Academic Foundation**
- **Multi-Factor Technical Analysis**: Based on studies by Murphy (1999) and Pring (2002)
- **Momentum Oscillators**: Grounded in Wilder (1978) and Lane (1984)
- **Confirmation Theory**: Dow Theory and convergence/divergence principles
- **Volume Analysis**: Concepts from Granville (1963) and Williams (1973)
**Implemented Innovations**
- **Crypto-Specific Combination**: Parameters optimized for high volatility
- **DXY Filter**: Incorporates crypto-dollar inverse correlation
- **Scoring System**: Quantitative approach to reduce subjectivity
- **Advanced Visual Interface**: Real-time feedback on factor status
💡 **Advanced Tips**
**Market Optimization**
- **Bitcoin/Ethereum**: Use default settings
- **Low-Cap Altcoins**: Increase sensitivity (shorter periods)
- **Stablecoins**: Not recommended (low volatility)
**Combination with Other Indicators**
- **Supports/Resistances**: Use for entry/exit timing
- **Moving Averages**: Combine with long-term trend
- **Volume Profile**: Confirm with high-activity levels
**Backtesting**
- Test in periods of high and low volatility
- Compare performance across different timeframes
- Adjust parameters based on historical results
VHX EMA 135/315📈 EMA 135/315 Cross Strategy – Your Trend Compass with Smart Confirmations
🔍 Core Idea
The EMA 135/315 Cross strategy is a trend-following system.
It tracks two moving averages:
EMA 135 → the “fast” line that reacts to short-term price moves
EMA 315 → the “slow” line that reacts to the bigger trend
When the fast EMA crosses above the slow EMA → market momentum is turning up → BUY signal 🟢
When the fast EMA crosses below the slow EMA → momentum is turning down → SELL signal 🔴
This gives you a clear entry trigger — no guessing, no overcomplication.
✨ On Your Chart
BUY/SELL Arrows
🟢 Green arrow = bullish cross → trend turning up
🔴 Red arrow = bearish cross → trend turning down
Trend Info Panel (Top Left)
Current Trend: BUY / SELL / Neutral
Last Cross: how many bars ago it happened
EMA Gap in %: measures the strength of the trend
Status: “Approaching” if EMAs are getting close → possible cross soon
Automatic TP/SL Levels
📈 TP line (+2% from entry)
📉 SL line (–0.5% from entry)
Saves time — you instantly see your target and protection
EMA Distance Meter
Big % gap = strong trend momentum 🚀
Small % gap = weak or sideways market ⚠️
Real-Time Alerts
You get notified when a cross happens, even if you’re away from the screen
🧠 The Logic Behind It
The EMA 135 reacts faster → it reflects short-term momentum
The EMA 315 moves slower → it reflects the main trend
When the fast EMA overtakes the slow EMA: short-term strength now aligns with the long-term trend → higher probability of a sustained move
The gap % tells you how strong the alignment is — large gap = cleaner moves, small gap = market in transition
“Approaching” status warns that the EMAs are converging, which often happens before a reversal
📊 Boosting the Strategy with Volume Analysis
The EMA cross is a strong trigger, but volume confirms the quality of the move:
High Volume + Cross → more reliable signal, as strong market participation is pushing the trend
Low Volume + Cross → caution, the move might be weak or a false breakout
💡 Tip:
Check the volume histogram or a volume-based indicator (e.g., Volume Profile, OBV).
On a BUY signal: volume should spike above the recent average.
On a SELL signal: watch for strong selling volume bars.
📍 Adding Support & Resistance for Precision
Support and resistance levels help filter out bad trades and optimize entries:
Best BUY setups:
EMA 135 crosses above EMA 315 near a known support zone
Bonus if volume confirms the move
Avoid buying directly into a strong resistance
Best SELL setups:
EMA 135 crosses below EMA 315 near a known resistance zone
Bonus if selling volume is strong
Avoid selling directly into a major support
💡 Use tools like horizontal lines, previous highs/lows, and Volume Profile nodes to spot these zones.
📈 Best Usage Practices
Timeframes
Lower timeframes (1m–5m) → more signals, but more noise → best for scalping with extra filters
Always Combine With Confirmation
EMA Cross = Trigger
Volume spike = Confirmation
S/R zone in your favor = High-probability setup
Manage Risk
Start with the built-in TP/SL
Adjust SL if volatility is higher than usual
Consider trailing stop once price moves in your favor
Avoid Sideways Markets
If EMA gap % is very small and crosses happen often → stand aside until a clear direction forms
Use Alerts
Set alerts for BUY & SELL crosses so you never miss a setup
In short:
This isn’t just an EMA cross indicator — it’s a trend system with built-in risk management, strength measurement, and pre-trade preparation. Combine it with volume confirmation and smart use of support/resistance, and you turn a simple signal into a high-probability trading edge.
Customizable MTF POC (VWAP Approx)🔍 Multi-Timeframe VWAP POC Zones
This script displays volume-weighted average price (VWAP) levels from multiple timeframes on a single chart. Each VWAP level acts as a potential dynamic support or resistance zone, depending on the price action.
✅ Customizable timeframes included:
1m, 5m, 15m, 1h, 2h, 4h, 1D, 2D, 1W, 1M
📌 Key Features:
– VWAP lines per timeframe with adjustable visibility
– Color-coded for clarity
– Useful for identifying high-confluence support/resistance zones
📈 Usage Tip:
Combine this indicator with price action or liquidity zones for more accurate entries. Confluent VWAP zones across multiple timeframes often signal strong reaction areas.
⚠️ Note: This script uses VWAP as an approximation for Point of Control (POC). It does not rely on true volume profile histograms due to Pine Script limitations. For full volume profile analysis, use TradingView’s built-in “Fixed Range Volume Profile” tool.
Pure Price Action Momentum OscillatorComplete Trading Guide: Pure Price Action Momentum Oscillator
1. Script Overview
What It Does
Tracks real-time momentum strength (bullish/bearish acceleration)
Identifies dynamic support/resistance zones for momentum (not price)
Alerts when momentum breaks or holds critical levels
What It Doesn’t Do
Predict long-term trends (use with trend indicators)
Replace price-based S/R levels (use alongside them)
Work well in extreme choppiness (adjust settings or avoid)
2. Key Features & Components
Feature Purpose Visual Cue
Momentum Histogram Shows strength/direction of price acceleration Color-coded bars
Zero Line Bullish/bearish momentum baseline Gray line (0 level)
Support Zone (Blue) Momentum floor where bounces happen Blue horizontal line
Resistance Zone (Orange) Momentum ceiling where pullbacks start Orange horizontal line
Stateful Alerts Persistent signals until conditions reverse Green/Red labels
3. Best Timeframes & Markets
Market Recommended Timeframe Notes
Stocks 5min - 1H Works best with high liquidity
Forex 15min - 4H Avoid during major news spikes
Crypto 1H - 4H Use with volume confirmation
Futures 5min - 1H Ideal for intraday momentum trades
❌ Avoid: Tick charts, <1min (too noisy), >Daily (loses sensitivity).
4. Confirmation Tools (Must-Use Combos)
A. Trend Confirmation
200 EMA (Price Chart)
Only trade longs if price > 200 EMA + momentum supports
Only trade shorts if price < 200 EMA + momentum confirms
ADX (14)
Use when ADX > 25 (strong trend) + momentum aligns
B. Volume Confirmation
Volume Profile
Enter longs only if momentum breaks resistance at high-volume nodes
VWAP
Buy pullbacks when momentum holds support and price is above VWAP
C. Price Structure
Fibonacci Retracements
Look for momentum breaks at 61.8% Fib levels for high-probability trades
Market Structure (Higher Lows/Lower Highs)
Momentum breakouts work best when price confirms trend
5. Trading Signals & Execution Rules
A. Breakout Trades (High Momentum)
Signal Conditions Action
Resistance Broken Histogram > Orange Zone + Price > Key S/R Enter Long
Support Broken Histogram < Blue Zone + Price < Key S/R Enter Short
Stop Loss:
Longs: 1 tick below nearest swing low
Shorts: 1 tick above nearest swing high
Take Profit:
Trail using the opposite zone (exit long when momentum drops below support)
B. Reversal Trades (Momentum Exhaustion)
Signal Conditions Action
Resistance Holding Histogram rejects Orange Zone + Bearish candle Short Entry
Support Holding Histogram bounces off Blue Zone + Bullish candle Long Entry
Stop Loss:
Beyond the recent swing high/low
Take Profit:
At next key S/R level
6. Advanced Interpretation
A. Divergence Trading
Hidden Bullish Divergence:
Price makes higher low, but momentum makes lower low → Potential reversal up
Hidden Bearish Divergence:
Price makes lower high, but momentum makes higher high → Potential reversal down
B. Session-Based Trading
London Open (3 AM EST): Watch for momentum breaks with volume surge
NY Midday (10 AM - 12 PM EST): Best for trend continuation
Crypto (UTC Midnight): Often sees volatility spikes
7. Risk Management & Position Sizing
Risk per trade: 1-2% of account
Leverage: ≤5x for intraday, ≤2x for swing
Avoid trading:
First 15 mins after major news
Low-volume periods (e.g., forex after 5 PM EST)
8. Pro Tips for Consistency
✅ Wait for Close: Don’t trade wicks, wait for candle close beyond zones.
✅ Combine with Price Action: Only trade if momentum aligns with candlestick patterns (e.g., pin bars, engulfing).
✅ Adjust Lookback: Increase in choppy markets, decrease in trends.
9. Limitations & Fixes
Issue Solution
Whipsaws in choppy markets Increase Min Lookback to 30+
Slow reaction in trends Reduce Max Lookback to 50
False breakouts Require volume confirmation
Final Verdict
This script is best used as a momentum filter – not a standalone system. Combine with:
✔ Trend indicators (200 EMA, ADX)
✔ Volume analysis (VWAP, Volume Profile)
✔ Price structure (S/R, Fibs)
Z-Score Volume with CVD Clustering Script Title:
Z-Score Volume with CVD Clustering & NY VWAP
📘 Description:
This indicator combines statistical volume analysis with order flow confirmation to detect high-probability trade zones and volume-based divergences.
📌 Components:
Z-Score of Volume: Identifies statistically significant volume surges or drops relative to a moving average baseline.
Cumulative Volume Delta (CVD): Gauges net buying vs. selling pressure using high-frequency bid/ask delta.
K-Means Clustering: Applies clustering logic to classify each bar into:
Cluster 2 – Strong Bullish: Z-Score and CVD both strong
Cluster 1 – Divergence / Bull Trap: Z-Score high, but weak CVD
Cluster 0 – Neutral / Noise: No clear alignment
Anchored VWAP (NY Session Open): Confirms market structure and institutional trend bias from 9:30 AM ET forward.
🎯 Suggested Applications:
✅ 1. Trend Continuation Entries (Add-ons):
Look to add to positions when:
Cluster 2 signal occurs
Price is above the NY session VWAP
Price structure has broken out of prior day high/low or range
⚠️ 2. Divergence Detection (Fade Traps):
Cluster 1 signals a bearish divergence (e.g., high volume but weak CVD).
Especially useful when price is failing to stay above VWAP.
Useful for early exits or reversal setups.
📊 3. Volume Profile Confirmation:
Combine with fixed or session-based volume profile tools.
Use Z-Score clusters to confirm volume spikes into low-volume nodes (LVNs) or during imbalance transitions.
📍 4. VWAP Structure Confirmation:
Anchored VWAP acts as a dynamic reference point.
Helps confirm acceptance vs. rejection zones at key institutional levels.
📈 Visuals & Alerts:
Color-coded volume bars show intensity of Z-Score & CVD confluence
CVD Line plots real-time delta bias with green/red coloring
Cluster-based shape markers highlight key bars for actionable signals
Optional: Add alerts for Cluster 2 above VWAP or Cluster 1 below VWAP
⚙️ Customization Options:
Adjustable Z-Score length
Custom anchor timeframe for CVD (e.g., 1D or sessions)
Adjustable max lookback depth
Toggle VWAP inclusion
Extendable to include additional filters: RSI, structure break alerts, etc.
🔧 Ideal Use Cases:
NY session intraday traders (ES, NQ, CL, 6E, FX pairs)
Breakout traders wanting order flow confirmation
Mean reversion traders spotting fake moves
Volume-based scalpers looking for edge on short-term order imbalance
Support & Resistance ZonesAdvanced Support & Resistance Detection Algorithm
This indicator identifies meaningful price levels by analyzing market structure using a proprietary statistical approach. Unlike traditional methods that rely on simple swing highs/lows or moving averages, this system dynamically detects zones where price has shown consistent interaction, revealing true areas of supply and demand.
Core Methodology
Price Data Aggregation
Collects highs and lows over a configurable lookback period.
Normalizes price data to account for volatility, ensuring levels remain relevant across different market conditions.
Statistical Significance Filtering
Rejection of random noise: Eliminates insignificant price fluctuations using adaptive thresholds.
Volume-weighted analysis (implied): Stronger reactions at certain price levels are given higher priority, even if volume data is unavailable.
Dynamic Level Extraction
Density-based S/R Zones: Instead of fixed swing points, the algorithm identifies zones where price has repeatedly consolidated.
Time decay adjustment: Recent price action has more influence, ensuring levels adapt to evolving market structure.
Strength Quantification
Each level is assigned a confidence score based on:
Touch frequency: How often price revisited the zone.
Reaction intensity: The magnitude of bounces/rejections.
Time relevance: Whether the level remains active or has been broken decisively.
Adaptive Level Merging & Pruning
Proximity-based merging: If two levels are too close (within a volatility-adjusted threshold), they combine into one stronger zone.
Decay mechanism: Old, untested levels fade away if price no longer respects them.
Why This Approach Works Better Than Traditional Methods
✅ No subjective drawing required – Levels are generated mathematically, removing human bias.
✅ Self-adjusting sensitivity – Works equally well on slow and fast-moving markets.
✅ Focuses on statistically meaningful zones – Avoids false signals from random noise.
✅ Non-repainting & real-time – Levels only update when new data confirms their validity.
How Traders Can Use These Levels
Support/Resistance Trading: Fade bounces off strong levels or trade breakouts with confirmation.
Confluence with Other Indicators: Combine with RSI, MACD, or volume profiles for higher-probability entries.
Stop Placement: Place stops just beyond key levels to avoid premature exits.
Technical Notes (For Advanced Users)
The algorithm avoids overfitting by dynamically adjusting zones sensitivity based on market conditions.
Unlike fixed pivot points, these levels adapt to trends, making them useful in both ranging and trending markets.
The strength percentage helps filter out weak levels—only trade those with a high score for better accuracy.
Note: Script takes some time to load.
Radi IQ [TradingIQ]Introducing "Radi IQ".
Radi IQ is a comprehensive market structure indicator designed to provide traders with a detailed view of key price levels and market behavior. It combines several analytical methods—including internal and external structure analysis, fair value gaps, order blocks, breaker blocks, rejection blocks, premium discount zones, equal levels, directional liquidity grabs, and trend meters —to help users better understand areas of support and resistance, potential turning points, and liquidity events in the market.
Key Components and Their Functions
Market Structure Analysis
Internal and External Structure : The indicator evaluates market structure on two levels. The internal analysis focuses on immediate price action (e.g., recent support/resistance and swing points), while the external analysis uses a higher timeframe to provide context. This dual approach helps to confirm the strength of key levels by comparing short-term moves with the broader market trend.
Break of Structure (BoS) and Change of Character (CHoCH) : These signals highlight moments when the market shifts its behavior. A BoS indicates that a previous level of support or resistance has been overcome, while a CHoCH signals a change in the market’s character. Both are marked clearly on the chart using distinct color codes.
Break of Structure + (BoS+) and Change of Character + (CHoCH+) : These signals highlight moments when the market shifts its behavior and is confirmed by prior price action. A BoS + indicates that a previous level of support or resistance has been overcome, while price action achieves higher highs and higher lows (resistance break) or lower highs and lower lows (support break). CHoCH + signals a change in the market’s character when supported by prior price action - lower highs for a support break and higher lows for a resistance break.
BoS and CHoCH
The image above shows BoS and CHoCH identified on the price chart, and explains what each signifies.
A Break Of Structure (BoS) occurs when price decisively moves beyond a previously established support or resistance level. It indicates that the current trend or market pattern is being challenged, and the market may be ready to change direction.
A Change of Character (CHoCH) describes a shift in how the market behaves. A CHoCH occurs when, in an uptrend, a previously established support level breaks, or in a downtrend, a previously established resistance level breaks.
This break indicates that the market's typical structure is shifting, suggesting that the current trend may be losing its strength and that a reversal or a new trend could be developing.
CHoCH+
The image above explains CHoCH+ and how it forms, while highlighting an instance where a downside CHoCH+ formed following lower highs.
A Change of Character + (CHoCH+) describes a shift in how the market behaves that is supported by prior price action. For support breaks, price must form lower highs before breaking support.
The image above explains CHoCH+ for resistance breaks, while highlighting an instance where a resistance point broke that was supported by prior price action.
BoS+
The image above explains BoS+ and how it forms, while highlighting an instance where an upside BoS+ formed following higher highs and higher lows.
A BoS+ resistance break requires higher highs and higher lows prior to the resistance point being closed over.
The image above explains BoS+ support break, while highlighting an instance where a downside BoS+ formed following lower highs and lower lows.
A BoS+ support break requires lower highs and lower lows prior to the support point being closed under.
Future BoS and CHoCH
Radi IQ also displays where the next BoS and CHoCH points are located.
The image above shows the feature in action. With this, traders will always know where the next key support/resistance breakpoints are before they actually occur.
Fair Value Gaps (FVG)
The indicator identifies gaps in the price where little or no trading occurred—known as fair value gaps. These gaps can act as temporary support or resistance and may indicate areas where the market is likely to correct. FVGs are displayed with clear color gradients that differentiate between upward and downward gaps.
The image above shows an identified upside FVG. In the image, the identified upside FVG acted as a support point for price.
The image above shows an identified downside FVG. In the image, the identified downside FVG acted as a resistance point for price.
Low Volume FVG
In addition to identifying trading FVGs - Radi IQ can also specifically detect low volume fair value gaps. Ideally, these fair value gaps will form inside a low volume node on a volume profile.
Low volume node FVGs are important because these are areas where very little trading occurred and is confirmable, indicating an imbalance in supply and demand. Since few trades took place there, the market often moves quickly through these zones when revisited, which can lead to rapid price changes. This "gap" in trading activity can serve as a signal for potential reversals or fast moves, offering opportunities to enter or exit positions based on expected market behavior.
The image above shows identified FVGs that formed on low volume.
Large Area FVGs
Radi IQ is also capable of filtering out “inconsequential” FVGs. With this, Radi IQ can be enabled to only mark FVGs that cover a wide price range.
The image above shows the feature enabled, and all identified FVGs formed with a wide price range.
Large Area FVGs and Low Volume FVGs Combined
Traders can also enable Radi IQ to only mark FVGs that form on low volume and have a wide price range - allowing traders to only identify the highest quality FVGs on the chart.
Order Blocks and Premium Discount Zones
Order Blocks: Radi IQ detects areas where large orders have previously been placed by institutional traders. These blocks can act as strong levels of support or resistance, and the indicator marks bullish and bearish order blocks with dedicated colors.
What is an order block?
Order blocks are clusters of orders that institutions have executed to enter or exit a market position. They typically form when there is a period of consolidation before a significant move. For example, the last bullish candle before a strong down move may indicate a supply order block, while the last bearish candle before a sharp rally might be considered a demand order block.
Why They Form:
Institutions don’t trade in small, sporadic amounts; they accumulate or distribute large volumes of an asset. To avoid slippage and minimize market impact, they execute these orders over a zone rather than at a single price point. This creates a recognizable “block” on the chart.
Order Block Identification Types
Strength Score
The “Strength Score” order block detection mode is a TradingIQ proprietary ranking system for identified order blocks.
Purpose
The purpose of the “Strength Score” ranking system is to determine the “strength” or significance of an order block and rate the zone’s likelihood to act as support/resistance when retested in the future.
The scoring system ranks from 0 - 10, with “0” indicating a “weak” score or low likelihood of acting as a key support/resistance level when retested in the future.
A rating of “5” indicates a “moderate” score, indicating that the order block has a moderate likelihood of acting as a key support/resistance level when retested in the future.
A rating of “10” indicates a “strong” score, indicating that the order block has a strong likelihood of acting as a key support/resistance level when retested in the future.
How It Works
The score is calculated by examining the price move following the formation of an order block. The stronger the price move after an order block forms - the higher the Strength Score.
The image above shows a bearish order block with a score of “5” identified on the chart. The order block successfully operates as a resistance point when retested.
The image above shows a bullish order block with a score of “5” identified on the chart. The order block successfully operates as a resistance point when retested.
Volume-Based
The volume-based order block detection method detects traditional order blocks, but goes one step further by identifying the highest concentration point of volume for the bar and drawing the order block around this concentration point.
Key features when using the volume-based order block detection method:
The top of the order block is anchored to the top of the highest volume concentration point of the bar
The bottom of the order block is anchored to the bottom of the highest volume concentration point of the bar
The total volume that went into creation of the order block is displayed on the chart
The total volume of the order block is recorded as a percentage relative to the total volume for all order blocks on the chart
The image above shows the detection method in action.
Breaker Blocks
A breaker block is a specific type of order block that gains significance when price breaks through it and then often retests the level as a new area of support or resistance. Essentially, it’s a zone where, after the initial break, the previous level (which once acted as strong support or resistance) flips roles. For example, in an uptrend, if the price falls below a key support level, that level can become a breaker block and act as resistance if the price tries to move back up. Conversely, in a downtrend, a broken resistance level can serve as new support. Traders monitor breaker blocks because they often mark a shift in market sentiment and can provide potential entry or exit points once the market re-engages with these levels.
The image above shows a breaker block above price acting as resistance.
The image above shows a breaker block below price acting as support.
Rejection Blocks
A rejection block is a price area where the market shows a strong unwillingness to move beyond a certain level. This typically happens when price approaches a specific level but then is quickly rejected, leading to a bounce in the opposite direction. In other words, a rejection block forms when traders' orders create a barrier, causing the price to reverse rather than break through. Traders watch these areas closely, as they often signal a strong concentration of supply or demand that could provide potential entry or exit points for trades.
The image above shows both a verified upside rejection block acting as resistance, and an untested downside rejection block.
Rejection blocks are expected to function as strong support/resistance points when retested in the future.
Premium Discount Zones
Premium Discount Zones : These zones reflect areas where price is trading above (premium) or below (discount) a fair value range. They help traders gauge whether the current market price is relatively high or low compared to historical averages.
Premium Discount Zones account for recent swing highs and lows to calculate a fair value along with discount and premium prices over an intermediate time window.
The image above shows the premium and discount price zones in action.
Equal Levels
The indicator also tracks and highlights equal levels, which occur when the market repeatedly tests the same price levels. Equal levels can reinforce the significance of a support or resistance area and are represented by their own set of color markers.
The image above shows Radi IQ distinguishing equal highs and equal lows.
Equal Highs
When you see two or more highs that are approximately the same, it suggests that the market is repeatedly rejecting attempts to push higher. This signals a strong resistance level where sellers (or stop-hunters) are active.
Equal Lows
Similarly, consecutive lows at the same level indicate strong support, where buyers step in consistently, preventing further decline.
Strong Highs and Lows
Strong High
A strong high is a price level where the market repeatedly fails to push higher. Typically, it’s characterized by:
Rejection: Price approaches the high but then reverses sharply, often leaving long upper wicks on the candlestick chart.
Consolidation: Multiple bars might show highs that are very close in value (often termed "equal highs"), indicating a well-established resistance zone.
Market Sentiment: This pattern suggests that sellers are actively defending that level, preventing further upward movement.
Strong Lows
Conversely, a strong low is a price level where the market repeatedly fails to break lower. It is identified by:
Bounce Back: Price touches the low and then rebounds sharply, often leaving long lower wicks.
Consistency: Multiple lows occur around the same level (sometimes referred to as "equal lows"), marking a solid support area.
Market Sentiment: This indicates that buyers are stepping in at that level, absorbing selling pressure and supporting the price.
The image above shows Radi IQ detecting both a strong high and strong low, while the detected strong low acts as support when retested.
Liquidity Grabs
Liquidity grabs occur when the market temporarily moves to absorb liquidity, often triggering stop-loss orders and leading to rapid price movements. Radi IQ flags these events by identifying conditions where price moves against recent pivots, helping traders spot potential liquidity-related reversals or breakouts.
The image above shows Radi IQ identifying both an upside liquidity grab and a downside liquidity grab.
Upside Liquidity Grab (Bearish)
An upside liquidity grab happens when the price moves above a well-known resistance area or recent high. This move is often short-lived.
Many traders place stop-loss orders or pending buy orders just above resistance levels. Institutional players may intentionally push price upward to trigger these orders, thereby “grabbing” the liquidity available at that level.
Downside Liquidity Grab (Bullish)
A downside liquidity grab is the mirror image: the price briefly dips below a key support level or recent low.
Traders often place stop-loss orders or pending sell orders just below support levels. An intentional drop below this support can trigger these stops, allowing institutional players to capture liquidity.
Multi-Timeframe Analysis and Swings
By using data from different timeframes, Radi IQ offers a broader perspective on market trends. It highlights significant swing highs and swing lows, providing visual cues that indicate the market’s directional bias. This feature assists traders in identifying both short-term opportunities and long-term trends.
The image above shows Radi IQ detecting higher swings and lower swings.
IQ Meters / Fibometer
IQ Meters (Fibometers) are a proprietary TradingIQ tool that allows traders to easily identify the highs and lows of the current trend and where current price is relative to these points.
The image above depicts the IQ Meters—an exclusive TradingIQ tool designed to help traders evaluate trend strength and retracement opportunities.
When the lower timeframe Zig Zag IQ and the higher timeframe Zig Zag IQ are out of sync (i.e., one is uptrending while the other is downtrending, with no active positions), the meters display a neutral color as shown in the image.
The key to using these meters is to identify trend unison and pinpoint key trend retracement entry opportunities. Fibonacci retracement levels for the current trend are interlaced along each meter, and the current price is converted to a retracement ratio of the trend.
These meters can mathematically determine where price stands relative to the larger and smaller trends, aiding in identifying entry opportunities.
The top of each meter indicates the highest price achieved during the current price move.
The bottom of each meter indicates the lowest price achieved during the current price move.
When both the larger and smaller trends are in sync and uptrending, or when a long position is active, the IQ meters turn green, indicating uptrend strength.
When both meters are green, it indicates uptrend strength as both the higher timeframe trend and lower timeframe trend are in unison. Look for price to retrace to key fibonacci retracement levels during this time period.
When both trends are in sync and downtrending, or when a short position is active, the IQ meters turn red, indicating downtrend strength.
When both meters are red, it indicates downtrend strength as both the higher timeframe trend and lower timeframe trend are in unison. Look for price to retrace to key fibonacci retracement levels during this time period.
Summary
Radi IQ serves as a robust, data-driven tool for traders who seek a deeper understanding of market structure. By integrating internal and external analysis, fair value gap detection, order block identification, premium discount zoning, equal level tracking, liquidity grabs and much more into one indicator, it offers a multi-layered view of the market. This helps traders not only recognize potential turning points and areas of market stress but also manage risk more effectively and plan their trades with greater precision. The indicator’s clear visual representation and dynamic updates make it a practical addition to any trader’s toolkit.
유료 스크립트
real_time_candlesIntroduction
The Real-Time Candles Library provides comprehensive tools for creating, manipulating, and visualizing custom timeframe candles in Pine Script. Unlike standard indicators that only update at bar close, this library enables real-time visualization of price action and indicators within the current bar, offering traders unprecedented insight into market dynamics as they unfold.
This library addresses a fundamental limitation in traditional technical analysis: the inability to see how indicators evolve between bar closes. By implementing sophisticated real-time data processing techniques, traders can now observe indicator movements, divergences, and trend changes as they develop, potentially identifying trading opportunities much earlier than with conventional approaches.
Key Features
The library supports two primary candle generation approaches:
Chart-Time Candles: Generate real-time OHLC data for any variable (like RSI, MACD, etc.) while maintaining synchronization with chart bars.
Custom Timeframe (CTF) Candles: Create candles with custom time intervals or tick counts completely independent of the chart's native timeframe.
Both approaches support traditional candlestick and Heikin-Ashi visualization styles, with options for moving average overlays to smooth the data.
Configuration Requirements
For optimal performance with this library:
Set max_bars_back = 5000 in your script settings
When using CTF drawing functions, set max_lines_count = 500, max_boxes_count = 500, and max_labels_count = 500
These settings ensure that you will be able to draw correctly and will avoid any runtime errors.
Usage Examples
Basic Chart-Time Candle Visualization
// Create real-time candles for RSI
float rsi = ta.rsi(close, 14)
Candle rsi_candle = candle_series(rsi, CandleType.candlestick)
// Plot the candles using Pine's built-in function
plotcandle(rsi_candle.Open, rsi_candle.High, rsi_candle.Low, rsi_candle.Close,
"RSI Candles", rsi_candle.candle_color, rsi_candle.candle_color)
Multiple Access Patterns
The library provides three ways to access candle data, accommodating different programming styles:
// 1. Array-based access for collection operations
Candle candles = candle_array(source)
// 2. Object-oriented access for single entity manipulation
Candle candle = candle_series(source)
float value = candle.source(Source.HLC3)
// 3. Tuple-based access for functional programming styles
= candle_tuple(source)
Custom Timeframe Examples
// Create 20-second candles with EMA overlay
plot_ctf_candles(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 20,
timezone = -5,
tied_open = true,
ema_period = 9,
enable_ema = true
)
// Create tick-based candles (new candle every 15 ticks)
plot_ctf_tick_candles(
source = close,
candle_type = CandleType.heikin_ashi,
number_of_ticks = 15,
timezone = -5,
tied_open = true
)
Advanced Usage with Custom Visualization
// Get custom timeframe candles without automatic plotting
CandleCTF my_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 30
)
// Apply custom logic to the candles
float ema_values = my_candles.ctf_ema(14)
// Draw candles and EMA using time-based coordinates
my_candles.draw_ctf_candles_time()
ema_values.draw_ctf_line_time(line_color = #FF6D00)
Library Components
Data Types
Candle: Structure representing chart-time candles with OHLC, polarity, and visualization properties
CandleCTF: Extended candle structure with additional time metadata for custom timeframes
TickData: Structure for individual price updates with time deltas
Enumerations
CandleType: Specifies visualization style (candlestick or Heikin-Ashi)
Source: Defines price components for calculations (Open, High, Low, Close, HL2, etc.)
SampleType: Sets sampling method (Time-based or Tick-based)
Core Functions
get_tick(): Captures current price as a tick data point
candle_array(): Creates an array of candles from price updates
candle_series(): Provides a single candle based on latest data
candle_tuple(): Returns OHLC values as a tuple
ctf_candles_array(): Creates custom timeframe candles without rendering
Visualization Functions
source(): Extracts specific price components from candles
candle_ctf_to_float(): Converts candle data to float arrays
ctf_ema(): Calculates exponential moving averages for candle arrays
draw_ctf_candles_time(): Renders candles using time coordinates
draw_ctf_candles_index(): Renders candles using bar index coordinates
draw_ctf_line_time(): Renders lines using time coordinates
draw_ctf_line_index(): Renders lines using bar index coordinates
Technical Implementation Notes
This library leverages Pine Script's varip variables for state management, creating a sophisticated real-time data processing system. The implementation includes:
Efficient tick capturing: Samples price at every execution, maintaining temporal tracking with time deltas
Smart state management: Uses a hybrid approach with mutable updates at index 0 and historical preservation at index 1+
Temporal synchronization: Manages two time domains (chart time and custom timeframe)
The tooltip implementation provides crucial temporal context for custom timeframe visualizations, allowing users to understand exactly when each candle formed regardless of chart timeframe.
Limitations
Custom timeframe candles cannot be backtested due to Pine Script's limitations with historical tick data
Real-time visualization is only available during live chart updates
Maximum history is constrained by Pine Script's array size limits
Applications
Indicator visualization: See how RSI, MACD, or other indicators evolve in real-time
Volume analysis: Create custom volume profiles independent of chart timeframe
Scalping strategies: Identify short-term patterns with precisely defined time windows
Volatility measurement: Track price movement characteristics within bars
Custom signal generation: Create entry/exit signals based on custom timeframe patterns
Conclusion
The Real-Time Candles Library bridges the gap between traditional technical analysis (based on discrete OHLC bars) and the continuous nature of market movement. By making indicators more responsive to real-time price action, it gives traders a significant edge in timing and decision-making, particularly in fast-moving markets where waiting for bar close could mean missing important opportunities.
Whether you're building custom indicators, researching price patterns, or developing trading strategies, this library provides the foundation for sophisticated real-time analysis in Pine Script.
Implementation Details & Advanced Guide
Core Implementation Concepts
The Real-Time Candles Library implements a sophisticated event-driven architecture within Pine Script's constraints. At its heart, the library creates what's essentially a reactive programming framework handling continuous data streams.
Tick Processing System
The foundation of the library is the get_tick() function, which captures price updates as they occur:
export get_tick(series float source = close, series float na_replace = na)=>
varip float price = na
varip int series_index = -1
varip int old_time = 0
varip int new_time = na
varip float time_delta = 0
// ...
This function:
Samples the current price
Calculates time elapsed since last update
Maintains a sequential index to track updates
The resulting TickData structure serves as the fundamental building block for all candle generation.
State Management Architecture
The library employs a sophisticated state management system using varip variables, which persist across executions within the same bar. This creates a hybrid programming paradigm that's different from standard Pine Script's bar-by-bar model.
For chart-time candles, the core state transition logic is:
// Real-time update of current candle
candle_data := Candle.new(Open, High, Low, Close, polarity, series_index, candle_color)
candles.set(0, candle_data)
// When a new bar starts, preserve the previous candle
if clear_state
candles.insert(1, candle_data)
price.clear()
// Reset state for new candle
Open := Close
price.push(Open)
series_index += 1
This pattern of updating index 0 in real-time while inserting completed candles at index 1 creates an elegant solution for maintaining both current state and historical data.
Custom Timeframe Implementation
The custom timeframe system manages its own time boundaries independent of chart bars:
bool clear_state = switch settings.sample_type
SampleType.Ticks => cumulative_series_idx >= settings.number_of_ticks
SampleType.Time => cumulative_time_delta >= settings.number_of_seconds
This dual-clock system synchronizes two time domains:
Pine's execution clock (bar-by-bar processing)
The custom timeframe clock (tick or time-based)
The library carefully handles temporal discontinuities, ensuring candle formation remains accurate despite irregular tick arrival or market gaps.
Advanced Usage Techniques
1. Creating Custom Indicators with Real-Time Candles
To develop indicators that process real-time data within the current bar:
// Get real-time candles for your data
Candle rsi_candles = candle_array(ta.rsi(close, 14))
// Calculate indicator values based on candle properties
float signal = ta.ema(rsi_candles.first().source(Source.Close), 9)
// Detect patterns that occur within the bar
bool divergence = close > close and rsi_candles.first().Close < rsi_candles.get(1).Close
2. Working with Custom Timeframes and Plotting
For maximum flexibility when visualizing custom timeframe data:
// Create custom timeframe candles
CandleCTF volume_candles = ctf_candles_array(
source = volume,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 60
)
// Convert specific candle properties to float arrays
float volume_closes = volume_candles.candle_ctf_to_float(Source.Close)
// Calculate derived values
float volume_ema = volume_candles.ctf_ema(14)
// Create custom visualization
volume_candles.draw_ctf_candles_time()
volume_ema.draw_ctf_line_time(line_color = color.orange)
3. Creating Hybrid Timeframe Analysis
One powerful application is comparing indicators across multiple timeframes:
// Standard chart timeframe RSI
float chart_rsi = ta.rsi(close, 14)
// Custom 5-second timeframe RSI
CandleCTF ctf_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 5
)
float fast_rsi_array = ctf_candles.candle_ctf_to_float(Source.Close)
float fast_rsi = fast_rsi_array.first()
// Generate signals based on divergence between timeframes
bool entry_signal = chart_rsi < 30 and fast_rsi > fast_rsi_array.get(1)
Final Notes
This library represents an advanced implementation of real-time data processing within Pine Script's constraints. By creating a reactive programming framework for handling continuous data streams, it enables sophisticated analysis typically only available in dedicated trading platforms.
The design principles employed—including state management, temporal processing, and object-oriented architecture—can serve as patterns for other advanced Pine Script development beyond this specific application.
------------------------
Library "real_time_candles"
A comprehensive library for creating real-time candles with customizable timeframes and sampling methods.
Supports both chart-time and custom-time candles with options for candlestick and Heikin-Ashi visualization.
Allows for tick-based or time-based sampling with moving average overlay capabilities.
get_tick(source, na_replace)
Captures the current price as a tick data point
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
na_replace (float) : Optional - Value to use when source is na
Returns: TickData structure containing price, time since last update, and sequential index
candle_array(source, candle_type, sync_start, bullish_color, bearish_color)
Creates an array of candles based on price updates
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
sync_start (simple bool) : Optional - Whether to synchronize with the start of a new bar
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of Candle objects ordered with most recent at index 0
candle_series(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides a single candle based on the latest price data
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: A single Candle object representing the current state
candle_tuple(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides candle data as a tuple of OHLC values
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Tuple representing current candle values
method source(self, source, na_replace)
Extracts a specific price component from a Candle
Namespace types: Candle
Parameters:
self (Candle)
source (series Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
na_replace (float) : Optional - Value to use when source value is na
Returns: The requested price value from the candle
method source(self, source)
Extracts a specific price component from a CandleCTF
Namespace types: CandleCTF
Parameters:
self (CandleCTF)
source (simple Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
Returns: The requested price value from the candle as a varip
method candle_ctf_to_float(self, source)
Converts a specific price component from each CandleCTF to a float array
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
Returns: Array of float values extracted from the candles, ordered with most recent at index 0
method ctf_ema(self, ema_period)
Calculates an Exponential Moving Average for a CandleCTF array
Namespace types: array
Parameters:
self (array)
ema_period (simple float) : Period for the EMA calculation
Returns: Array of float values representing the EMA of the candle data, ordered with most recent at index 0
method draw_ctf_candles_time(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar time coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using time-based x-coordinates
method draw_ctf_candles_index(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar index coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using index-based x-coordinates
method draw_ctf_line_time(self, source, line_size, line_color)
Renders a line representing a price component from the candles using time coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_time(self, line_size, line_color)
Renders a line from a varip float array using time coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_index(self, source, line_size, line_color)
Renders a line representing a price component from the candles using index coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
method draw_ctf_line_index(self, line_size, line_color)
Renders a line from a varip float array using index coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots tick-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots tick-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots time-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots time-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_candles(source, candle_type, sample_type, number_of_ticks, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, enable_ema, line_width, ema_color, use_time_indexing)
Unified function for plotting candles with comprehensive options
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Optional - Type of candle chart to display
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
ema_period (simple float) : Optional - Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
enable_ema (bool) : Optional - Whether to display the EMA overlay
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with optional EMA overlay
ctf_candles_array(source, candle_type, sample_type, number_of_ticks, number_of_seconds, tied_open, bullish_color, bearish_color)
Creates an array of custom timeframe candles without rendering them
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to create (candlestick or Heikin-Ashi)
sample_type (simple SampleType) : Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of CandleCTF objects ordered with most recent at index 0
Candle
Structure representing a complete candle with price data and display properties
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
candle_color (series color) : Color to use when rendering the candle
ready (series bool) : Boolean indicating if candle data is valid and ready for use
TickData
Structure for storing individual price updates
Fields:
price (series float) : The price value at this tick
time_delta (series float) : Time elapsed since the previous tick in milliseconds
series_index (series int) : Sequential index identifying this tick
CandleCTF
Structure representing a custom timeframe candle with additional time metadata
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
open_time (series int) : Timestamp marking when the candle was opened (in Unix time)
time_delta (series float) : Duration of the candle in milliseconds
candle_color (series color) : Color to use when rendering the candle
Liquidity Sweep Filter [AlgoAlpha]Unlock a deeper understanding of market liquidity with the Liquidity Sweep Filter by AlgoAlpha. This indicator identifies liquidity sweeps, highlighting key price levels where large liquidations have occurred. By visualizing major and minor liquidation events, traders can better anticipate potential reversals and market structure shifts, making this an essential tool for those trading in volatile conditions.
Key Features :
🔍 Liquidity Sweep Detection – Identifies and highlights areas where liquidity has been swept, distinguishing between major and minor liquidation events.
📊 Volume Profile Integration – Displays a volume profile overlay, helping traders spot high-activity price zones where the market is likely to react.
📈 Trend-Based Filtering – Utilizes an adaptive trend detection algorithm to refine liquidity sweeps based on market direction, reducing noise.
🎨 Customizable Visualization – Modify colors, thresholds, and display settings to tailor the indicator to your trading style.
🔔 Alerts for Liquidity Sweeps & Trend Changes – Stay ahead of the market by receiving alerts when significant liquidity events or trend shifts occur.
How to Use:
🛠 Add the Indicator : Add the Liquidity Sweep Filter to your chart and configure the settings based on your preferred sensitivity. Adjust the major sweep threshold to filter out smaller moves.
📊 Analyze Liquidity Zones and trend direction : Look for liquidation levels where large buy or sell stops have been triggered. Major sweeps indicate strong reactions, while minor sweeps show gradual liquidity absorption. You can also see which levels are high in liquidity by the transparency of the levels.
🔔 Set-Up Alerts : Use the in-built alerts so you don't miss a trading opportunity
How It Works :
The Liquidity Sweep Filter detects liquidity events by tracking swing highs and lows (defined as a pivot where neighboring candles are lower/higher than it) where traders are likely to have placed stop-loss orders. It evaluates volume and price action, marking areas where liquidity has been absorbed by the market. Additionally, the integrated trend filter ensures that only relevant liquidity sweeps are highlighted based on market direction, lows in an uptrend and highs in a downtrend. The trend filter works by calculating a basis, and defining trend shifts when the closing price crosses over the upper or lower bands.The included volume profile further enhances analysis by displaying key trading zones where price may react.
Value Zones [Influxum]The volume of traded contracts at a specific price level is, in our opinion, one of the most critical components of any trading system. The area where price acceptance occurred, and the most contracts were traded, represents a very objective phenomenon on the chart, reducing the degree of discretionary trading. This is commonly referred to as POC – Point of Control – the point where the most units of an instrument were traded. Our Value Zones take this a step further by identifying additional local extremes, i.e., areas where significant trading volumes occurred locally at specific prices. This provides objective information about the points on the market where buyers and sellers agreed on a price, resulting in what is known as consolidation. This information can help identify the price levels or zones where aggressive buyer or seller behavior, and consequently a significant price reaction, might be expected. We do not perceive the POC or local extremes as mere price levels but rather as zones. The distribution of trades in the market is a stochastic process, and deviations can occur, which is why we extend local extremes and the POC with a coefficient reflecting the current session's volatility.
🟪 General Settings
Session
Value Zones are always calculated for a specific time period. In this section, you can set whether you want to see Value Zones for 30-minute candles, hourly charts, 4-hour charts, daily, weekly, or monthly timeframes. Keep in mind the timeframe you are currently viewing. If you attempt to display monthly Value Zones on minute candles, the chart will typically load only 10,000 to 20,000 candles, representing a maximum of 20 days, which is insufficient for accurately determining monthly Value Zones.
Levels of Detai l
To simplify working with Value Zones, you don’t need to manually set the size of a single row in the volume profile in terms of ticks. Simply choose how many rows the entire range of the selected session should be divided into. Local maxima will then be identified within the specified number of rows. The more rows you choose, the more detailed the Value Zones will be. However, this may lead to identifying local extremes too close to each other (in cases where consolidation has occurred for a longer period). We recommend an optimal setting of 50 to 100 rows to ensure the significant local extremes are effectively visualized.
Volume Type
An interesting metric is not just the volume traded at a price but also the ratio of buy and sell volumes – the delta. Based on the data available, this is not a precise tick-based or bid-ask delta but rather a delta derived from the volume of candles on lower timeframes. For daily sessions, for instance, we use minute candles. If a candle closes higher than it opens, it is considered positive delta. If it closes lower, it is negative delta. This helps identify whether buyers or sellers were more aggressive at a specific price level (not whether there were more buyers or sellers, as each trade always involves both sides).
🟪 Heatmap
A heatmap visualizes the volume profile, displaying volume on a given row through color intensity. For standard volume, the intensity represents a single color. For delta, separate colors are used to represent positive and negative delta intensity.
Align
Choose whether the Heatmap will always appear on the right or left side. If set to the right, historical Heatmaps will display at the start of the next session after the session concludes. A developing session’s Heatmap will appear on the right in real time. If set to the left, the Heatmap will always appear at the start of the session it represents. For a developing session, the Heatmap is also on the left. Note that right after the session begins, the Heatmap may look unusual because there isn’t yet enough price data to calculate all the rows (e.g., the 50 rows set in Levels of Detail).
Heatmap Length
This determines the Heatmap’s length in terms of the number of candles.
Color Settings
You can configure colors separately for Volume and Delta modes. The color settings for POC are shared for both modes.
🟪 Local Peaks
Draw Local Peaks
Here, you can set how local peaks (in addition to POC) will be displayed. If set to "None," neither POC nor any local extreme will be shown. You can choose to display POC and local peaks as lines, boxes, or both.
Number of Local Peaks
If set to 0 and a display mode for POC and local extremes (line, box, or both) is active, only the POC will be displayed. Any value higher than 0 will display that number of local extremes, as long as they are found. If the Level of Detail is set too low, no local extremes might be identified.
🟪 Visuals - Historical & Current
To tailor your chart to your preferences, you can freely customize the colors for local peaks and POC, lines and boxes, and even differentiate between historical and developing values. The choice is entirely yours!
Range Detect SystemTechnical analysis indicator designed to identify potential significant price ranges and the distribution of volume within those ranges. The system helps traders calculate POC and show volume history. Also detecting breakouts or potential reversals. System identifies ranges with a high probability of price consolidation and helps screen out extreme price moves or ranges that do not meet certain volatility thresholds.
⭕️ Key Features
Range Detection — identifies price ranges where consolidation is occurring.
Volume Profile Calculation — indicator calculates the Point of Control (POC) based on volume distribution within the identified range, enhancing the analysis of market structure.
Volume History — shows where the largest volume was traded from the center of the range. If the volume is greater in the upper part of the range, the color will be green. If the volume is greater in the lower part, the color will be red.
Range Filtering — Includes multi-level filtering options to avoid ranges that are too volatile or outside normal ranges.
Visual Customization — Shows graphical indicators for potential bullish or bearish crossovers at the upper and lower range boundaries. Users can choose the style and color of the lines, making it easier to visualize ranges and important levels on the chart.
Alerts — system will notify you when a range has been created and also when the price leaves the range.
⭕️ How it works
Extremes (Pivot Points) are taken as a basis, after confirming the relevance of the extremes we take the upper and lower extremes and form a range. We check if it does not violate a number of rules and filters, perform volume calculations, and only then is the range displayed.
Pivot points is a built-in feature that shows an extremum if it has not been updated N bars to the left and N bars to the right. Therefore, there is a delay depending on the bars specified to check, which allows for a more accurate range. This approach allows not to make unnecessary recalculations, which completely eliminates the possibility of redrawing or range changes.
⭕️ Settings
Left Bars and Right Bars — Allows you to define the point that is the highest among the specified number of bars to the left and right of this point.
Range Logic — Select from which point to draw the range. Maximums only, Minimums only or both.
Use Wick — Option to consider the wick of the candles when identifying Range.
Breakout Confirmation — The number of bars required to confirm a breakout, after which the range will close.
Minimum Range Length — Sets the minimum number of candles needed for a range to be considered valid.
Row Size — Number of levels to calculate POC. *Larger values increase the script load.
% Range Filter — Dont Show Range is than more N% of Average Range.
Multi Filter — Allows use of Bollinger Bands, ATR, SMA, or Highest-Lowest range channels for filtering ranges based on volatility.
Range Hit — Shows graphical labels when price hits the upper or lower boundaries of the range, signaling potential reversal or breakout points.
Range Start — Show points where Range was created.
PRINT_TYPELibrary "PRINT_TYPE"
Inputs
Inputs objects
Fields:
inbalance_percent (series int) : percentage coefficient to determine the Imbalance of price levels
stacked_input (series int) : minimum number of consecutive Imbalance levels required to draw extended lines
show_summary_footprint (series bool)
procent_volume_area (series int) : definition size Value area
new_imbalance_cond (series bool) : bool input for setup alert on new imbalance buy and sell
new_imbalance_line_cond (series bool) : bool input for setup alert on new imbalance line buy and sell
stop_past_imbalance_line_cond (series bool) : bool input for setup alert on stop past imbalance line buy and sell
Constants
Constants all Constants objects
Fields:
imbalance_high_char (series string) : char for printing buy imbalance
imbalance_low_char (series string) : char for printing sell imbalance
color_title_sell (series color) : color for footprint sell
color_title_buy (series color) : color for footprint buy
color_line_sell (series color) : color for sell line
color_line_buy (series color) : color for buy line
color_title_none (series color) : color None
Calculation_data
Calculation_data data for calculating
Fields:
detail_open (array) : array open from calculation timeframe
detail_high (array) : array high from calculation timeframe
detail_low (array) : array low from calculation timeframe
detail_close (array) : array close from calculation timeframe
detail_vol (array) : array volume from calculation timeframe
previos_detail_close (array) : array close from calculation timeframe
isBuyVolume (series bool) : attribute previosly bar buy or sell
Footprint_row
Footprint_row objects one footprint row
Fields:
price (series float) : row price
buy_vol (series float) : buy volume
sell_vol (series float) : sell volume
imbalance_buy (series bool) : attribute buy inbalance
imbalance_sell (series bool) : attribute sell imbalance
buy_vol_box (series box) : for ptinting buy volume
sell_vol_box (series box) : for printing sell volume
buy_vp_box (series box) : for ptinting volume profile buy
sell_vp_box (series box) : for ptinting volume profile sell
row_line (series label) : for ptinting row price
empty (series bool) : = true attribute row with zero volume buy and zero volume sell
Imbalance_line_var_object
Imbalance_line_var_object var objects printing and calculation imbalance line
Fields:
cum_buy_line (array) : line array for saving all history buy imbalance line
cum_sell_line (array) : line array for saving all history sell imbalance line
Imbalance_line
Imbalance_line objects printing and calculation imbalance line
Fields:
buy_price_line (array) : float array for saving buy imbalance price level
sell_price_line (array) : float array for saving sell imbalance price level
var_imba_line (Imbalance_line_var_object) : var objects this type
Footprint_bar
Footprint_bar all objects one bar with footprint
Fields:
foot_rows (array) : objects one row footprint
imba_line (Imbalance_line) : objects imbalance line
row_size (series float) : size rows
total_vol (series float) : total volume one footprint bar
foot_buy_vol (series float) : buy volume one footprint bar
foot_sell_vol (series float) : sell volume one footprint bar
foot_max_price_vol (map) : map with one value - price row with max volume buy + sell
calc_data (Calculation_data) : objects with detail data from calculation resolution
Support_objects
Support_objects support object for footprint calculation
Fields:
consts (Constants) : all consts objects
inp (Inputs) : all input objects
bar_index_show_condition (series bool) : calculation bool value for show all objects footprint
row_line_color (series color) : calculation value - color for row price
dop_info (series string)
show_table_cond (series bool)
Price-Volume Dynamic - Strategy [presentTrading]█ Introduction and How it is Different
The "Price-Volume Dynamic - Strategy" leverages a unique blend of price action, volume analysis, and statistical z-scores to establish trading positions. This approach differentiates itself by integrating the concept of the Point of Control (POC) from volume profile analysis with price-based z-score indicators to create a dynamic trading strategy. It tailors entry and exit thresholds based on current market volatility, providing a responsive and adaptive trading method. This strategy stands out by considering both historical volatility and price trends to adjust trading decisions in real-time, enhancing its effectiveness in various market conditions.
BTCUSD 4h LS Performance
█ Strategy: How It Works – Detailed Explanation
🔶 Calculating Point of Control (POC)
The Point of Control (POC) represents the price level with the highest traded volume over a specified lookback period. It's calculated by dividing the price range into a number of rows, each representing a price level. The volume at each price level is tallied and the level with the maximum volume is designated as the POC.
🔶 Dynamic Thresholds Adjustments
The entry and exit thresholds are dynamically adjusted based on normalized volatility, which is derived from the current, minimum, and maximum ATR over a specified period. This normalization ensures that the thresholds adapt to changes in market conditions, making the strategy sensitive to shifts in market volatility.
BTCUSD local performance
█ Trade Direction
The strategy can be configured to trade in three different directions: Long, Short, or Both. This flexibility allows traders to align their trading strategy with their market outlook or risk preferences. By adjusting the `POC_tradeDirection` input, traders can selectively participate in market movements that match their trading style and objectives.
█ Usage
To deploy this strategy, traders should apply it within a trading software that supports scripting and backtesting, such as TradingView's Pine Script environment. Users can input their parameters based on their analysis of the market conditions and their risk tolerance. It is essential for traders to backtest the strategy using historical data to evaluate its performance and make necessary adjustments before applying it in live trading scenarios.
█ Default Settings
- Lookback Length: Sets the period over which the highest and lowest prices, and the volume per price level, are calculated. A higher lookback length smoothens the volatility but may delay response to recent market movements.
- Number of Rows: Determines the granularity of price levels within the price range. More rows provide a more detailed volume profile but require more computational resources.
- Entry Z-Score Threshold Base: Influences the sensitivity of the strategy to enter trades. Higher values make the strategy more conservative, requiring stronger deviation from the mean to trigger a trade.
- Exit Z-Score Threshold Base: Sets the threshold for exiting trades, with lower values allowing trades to close on smaller price retractions, thereby potentially preserving profits or reducing losses.
- Trading Direction: Allows selection between Long, Short, or Both, enabling traders to tailor the strategy to their market view or risk preferences.
footprint_typeLibrary "footprint_type"
Contains all types for calculating and rendering footprints
Inputs
Inputs objects
Fields:
inbalance_percent (series int) : percentage coefficient to determine the Imbalance of price levels
stacked_input (series int) : minimum number of consecutive Imbalance levels required to draw extended lines
show_summary_footprint (series bool) : bool input for show summary footprint
procent_volume_area (series int) : definition size Value area
show_vah (series bool) : bool input for show VAH
show_poc (series bool) : bool input for show POC
show_val (series bool) : bool input for show VAL
color_vah (series color) : color VAH line
color_poc (series color) : color POC line
color_val (series color) : color VAL line
show_volume_profile (series bool)
new_imbalance_cond (series bool) : bool input for setup alert on new imbalance buy and sell
new_imbalance_line_cond (series bool) : bool input for setup alert on new imbalance line buy and sell
stop_past_imbalance_line_cond (series bool) : bool input for setup alert on stop past imbalance line buy and sell
Constants
Constants all Constants objects
Fields:
imbalance_high_char (series string) : char for printing buy imbalance
imbalance_low_char (series string) : char for printing sell imbalance
color_title_sell (series color) : color for footprint sell
color_title_buy (series color) : color for footprint buy
color_line_sell (series color) : color for sell line
color_line_buy (series color) : color for buy line
color_title_none (series color) : color None
Calculation_data
Calculation_data data for calculating
Fields:
detail_open (array) : array open from calculation timeframe
detail_high (array) : array high from calculation timeframe
detail_low (array) : array low from calculation timeframe
detail_close (array) : array close from calculation timeframe
detail_vol (array) : array volume from calculation timeframe
previos_detail_close (array) : array close from calculation timeframe
isBuyVolume (series bool) : attribute previosly bar buy or sell
Footprint_row
Footprint_row objects one footprint row
Fields:
price (series float) : row price
buy_vol (series float) : buy volume
sell_vol (series float) : sell volume
imbalance_buy (series bool) : attribute buy inbalance
imbalance_sell (series bool) : attribute sell imbalance
buy_vol_box (series box) : for ptinting buy volume
sell_vol_box (series box) : for printing sell volume
buy_vp_box (series box) : for ptinting volume profile buy
sell_vp_box (series box) : for ptinting volume profile sell
row_line (series label) : for ptinting row price
empty (series bool) : = true attribute row with zero volume buy and zero volume sell
Value_area
Value_area objects for calculating and printing Value area
Fields:
vah_price (series float) : VAH price
poc_price (series float) : POC price
val_price (series float) : VAL price
vah_label (series label) : label for VAH
poc_label (series label) : label for POC
val_label (series label) : label for VAL
vah_line (series line) : line for VAH
poc_level (series line) : line for POC
val_line (series line) : line for VAL
Imbalance_line_var_object
Imbalance_line_var_object var objects printing and calculation imbalance line
Fields:
cum_buy_line (array) : line array for saving all history buy imbalance line
cum_sell_line (array) : line array for saving all history sell imbalance line
Imbalance_line
Imbalance_line objects printing and calculation imbalance line
Fields:
buy_price_line (array) : float array for saving buy imbalance price level
sell_price_line (array) : float array for saving sell imbalance price level
var_imba_line (Imbalance_line_var_object) : var objects this type
Footprint_info_var_object
Footprint_info_var_object var objects for info printing
Fields:
cum_delta (series float) : var delta volume
cum_total (series float) : var total volume
cum_buy_vol (series float) : var buy volume
cum_sell_vol (series float) : var sell volume
cum_info (series table) : table for ptinting
Footprint_info
Footprint_info objects for info printing
Fields:
var_info (Footprint_info_var_object) : var objects this type
total (series label) : total volume
delta (series label) : delta volume
summary_label (series label) : label for ptinting
Footprint_bar
Footprint_bar all objects one bar with footprint
Fields:
foot_rows (array) : objects one row footprint
val_area (Value_area) : objects Value area
imba_line (Imbalance_line) : objects imbalance line
info (Footprint_info) : objects info - table,label and their variable
row_size (series float) : size rows
total_vol (series float) : total volume one footprint bar
foot_buy_vol (series float) : buy volume one footprint bar
foot_sell_vol (series float) : sell volume one footprint bar
foot_max_price_vol (map) : map with one value - price row with max volume buy + sell
calc_data (Calculation_data) : objects with detail data from calculation resolution
Support_objects
Support_objects support object for footprint calculation
Fields:
consts (Constants) : all consts objects
inp (Inputs) : all input objects
bar_index_show_condition (series bool) : calculation bool value for show all objects footprint
row_line_color (series color) : calculation value - color for row price
Volume Heatmap 2024 | NXT2017 Christmas EditionHi big players around the world,
I wish you a merry christmas time.
Today I have a nice present for you: a new volume heatmap indicator for free using!
HISTORY
My first volume heatmap project got a lot of feedback and a big demand. You can find it here:
In this time pinescript version 4 was the newest one and I worked the first time with arrays.
Today we have pinescript version 5 and some new features. This is why I tried again with matrix function and the results are better than I expected.
HOW IT WORKS
The indicator calculates similar like the volume profile. It looks back and every volume where the close price is on the same row area, the volume will cumulated. How much rows the new chart view is showing, you can choose manually.
The mind behind this is to find high volume levels, where high volume catch the price in a range or get function as support/resistance line.
PICTURES
I hope it helps for your trading. You are welcome to give some comments.
Merry christmas and best regards
NXT2017






















